2015-06-25 29 views
1

我遇到了彎引號和撇號從Word文檔粘貼到tincymce HMTL編輯器時,一些問題,由於某種原因,這些字符轉換爲A,A€™等使用tinymce的UTF-8問題?

事情我已經檢查:

首先,我已確保所有的HTML頁面都具有正確的內容類型標籤聲明:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

此外,當var_dumping輸出到瀏覽器字符顯示正確,這導致我認爲數據庫可能沒有以UTF-8格式存儲。我檢查了這一點,當手動插入字符並通過phpMyAdmin存儲它們時,這些存儲完全沒問題。

所以,問題似乎只是在數據庫中存儲數據之前的某處,所以要檢查這個我包圍的數據:

utf8_encode(string) 

右鍵保存到數據庫之前,這可以解決該問題。現在我不覺得這是一個永久的解決方案,但我似乎無法弄清楚爲什麼會發生這種情況。

我試圖調整tinyMCE的編碼爲「原始」:

 tinymce.init({ 
     entity_encoding : "raw" 
    }); 

但這並沒有解決問題,任何人都可以擺脫一些輕到什麼可能發生在這裏?

+0

您是否嘗試將編碼中的代碼保存爲UTF8? – Can

+0

@你可以閱讀完整的文章嗎?編輯是tinyMCE。 –

回答

-2

而不是’,你期待,對嗎?這就是Mojibake,這通常意味着你沒有聲明表格列爲CHARACTER SET utf8

請勿使用utf8_encode()

+1

我檢查了我原來的文章中提到的數據庫排序規則,表中使用的是utf8字符集。考慮到直接將文本通過phpmyadmin放入數據庫時​​文本沒有問題,只有當文本來自tinyMCE時,纔會出現問題。 –

+0

我不知道什麼是tinyMCE(或不是)這樣做是否妨礙了這一點。深入挖掘MySQL的「通用日誌」,運行有問題的語句,關閉通用日誌,然後發佈日誌中的內容。 –