我要读取的xml的编码方式是gb2312,如果xml里没有特殊字符就没有问题,但如果有的话就出现switching encoding: encoder error
iconv啊什么的那些函数我都用过了,没用,iconv是用在string上的吧,我用$xml->(file.xml); 的方法一load就出错了。得到的$xml是一个object吧。
还有header('Content-Type:text/html;charset=gb2312');header('Content-Type:text/html;charset=utf-8');我也用过了,没用。
各位大哥有什么好的方法解决吗? 我有个想法是可否先用file_get_contents得到string,然后再利用正则啊什么的得到xml文件的数据
万分感谢!!!!!!!!!!!
iconv啊什么的那些函数我都用过了,没用,iconv是用在string上的吧,我用$xml->(file.xml); 的方法一load就出错了。得到的$xml是一个object吧。
还有header('Content-Type:text/html;charset=gb2312');header('Content-Type:text/html;charset=utf-8');我也用过了,没用。
各位大哥有什么好的方法解决吗? 我有个想法是可否先用file_get_contents得到string,然后再利用正则啊什么的得到xml文件的数据
万分感谢!!!!!!!!!!!
至于非英文字符产生的乱码,这个比较难办了.
最好xml头和xml数据的编码是一致的.我曾经遇到过日文中的句号,是全角,死活解析不了的问题.唉.
为什么会影响到这个xml文件? 唉。搞不明白。 如果没有<![CDATA[ ]]>,就不会有问题,有就有问题。
例如:徐若瑄的“瑄”,陶喆的“喆”,蔡旻佑的“旻”等一些比较怪僻的生字时出错,还有一些日文的词,例如勇気的“気”,手嶌葵的“嶌”等,不知是否和我PHP文件有关,PHP的是utf-8的,不过我也试过GB2312的没有问题。
同时还试过了谷歌音乐里有徐若瑄的“瑄”这个字的xml文件,没有报错,谷歌音乐里的xml是utf-8的。
问题正在解决中……
echo iconv('gbk', 'utf-8', $s);得到 ﹍o ●篼篼帮⿶ .^*^你可以先读到字符串,转码后在用 loadXML 方法加载
注意 gb2312 要替换成 utf-8