文档标记为UTF-16但在实体PHP错误中具有UTF-8内容

时间:2011-06-08 20:04:11

标签: php character-encoding

我最近从PHP5.2将我的网站转移到PHP5.3。我有一个认证模块,它在之前工作正常,但现在给出了错误

Document labelled UTF-16 but has UTF-8 content in Entity

我尝试用UTF-16替换所有出现的UTF-8,但这没有帮助。可能是此错误的可能解决方案/原因是什么?

1 个答案:

答案 0 :(得分:4)

见:

http://forums.devshed.com/php-development-5/document-labelled-utf-16-but-has-utf-8-content-694388.html

此链接的解决方案只是替换XML代码中的编码信息:

$xml = $result->GetWeatherResult;
$xml = preg_replace('/(<\?xml[^?]+?)utf-16/i', '$1utf-8', $xml);  

不是一个很好的解决方案,但是为OP工作。