我在页面上有一个DHTMLX网格,它通过php连接器文件将数据保存到数据库。来自网格的数据通过在PHP连接器文件中呈现的xml编码显示。
网格中的日语单词以日语显示但保存为:ーッƒ 然而,他们确实留在日本的网格! (不知何故...) 如果我在php myadmin上保存数据库中的某些内容,它会在网格中显示为:???
我检查过,一切似乎都正确......
DB字段:UTF-8√
HTML标题:UTF-8√
connector.php:UTF-8√(通过网络选项卡检查,devtools)
我还有其他地方可以检查吗?
当查看给我DB值的PHP文件时,我得到的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 :(得分:1)
您对ーダー
期待ーダー
吗? (变为乱码。)
其他时候,你有问号吗?
这两种症状来自不同的原因。但两者通常都不涉及将客户端字节声明为utf8。在php中,可以使用mysqli_set_charset('utf8')
问号通常还涉及未将列声明为utf8。
要进一步诊断,请执行
SELECT col, HEX(col) FROM tbl WHERE ...
所以我们可以看到文本在插入时是否被破坏了。