我得到了一个错误:
parser error : Input is not proper UTF-8, indicate encoding ! Bytes: 0xED 0x6E 0x2C 0x20
尝试使用来自第三方来源的simplexml_load_string
处理XML响应时。原始XML响应确实声明了内容类型:
<?xml version="1.0" encoding="UTF-8"?>
然而,XML似乎并不是真正的UTF-8。内容的语言是西班牙语,在XML中包含像Dublín
这样的单词。
我无法让第三方整理出他们的XML。
如何预处理XML并修复编码不兼容问题?
有没有一种方法可以检测XML文件的正确编码?
发布于 2011-01-02 05:14:31
我用以下方法解决了这个问题
$content = utf8_encode(file_get_contents('http://example.com/rss.xml'));
$xml = simplexml_load_string($content);
发布于 2013-12-02 21:12:39
如果您确定您的xml是以UTF-8编码的,但包含错误字符,则可以使用此函数来更正它们:
$content = iconv('UTF-8', 'UTF-8//IGNORE', $content);
发布于 2011-04-03 09:10:22
您可以简单地将这行代码放在mysql_connect语句后面,而不是使用javascript:
mysql_set_charset('utf8',$connection);
干杯。
https://stackoverflow.com/questions/2507608
复制相似问题