2015-11-07 36 views
0

我在頁面上有一個DHTMLX網格,通過php連接器文件將數據保存到數據庫。來自網格的數據通過在PHP連接器文件中呈現的xml編碼顯示。用XML呈現XML數據亂碼特殊字符

網格中的日語單詞以日語顯示,但保存爲: 然而,他們確實留在網格中的日語! (不知何故...) 如果我保存在php myadmin的數據庫中的東西,它顯示在網格中:???

我檢查了,一切似乎是正確的......
數據庫字段:UTF-8√
HTML頭:UTF-8√
connector.php:UTF-8√(通過網絡選項卡檢查,devtools)
我應該檢查其他地方嗎?

當在PHP文件給我的DB值看,我收到已亂碼XML數據:

<rows><row id='00000000001'><cell><![CDATA[]]></cell><cell><![CDATA[??]]></cell><cell><![CDATA[33]]></cell><cell><![CDATA[]]></cell><cell><![CDATA[]]></cell><cell><![CDATA[?????????]]></cell>... 

所以也許從服務器接收的數據之前的問題所在。有誰知道我應該在哪裏尋找問題?

回答

0

您期待ーダーーダー? (Mojibake)

其他時候,你會得到問號嗎?

這兩個症狀來自不同的原因。但是兩者通常都不涉及將客戶端字節聲明爲utf8。在PHP中,這可以通過mysqli_set_charset('utf8')

問號通常還包括未能將列聲明爲utf8。

進一步診斷,請你

SELECT col, HEX(col) FROM tbl WHERE ... 

,所以我們可以看到,因爲它是插入的文本是否錯位。