标有UTF-16的文档,但在实体PHP中包含UTF-8内容错误

use*_*212 3 php character-encoding

我最近将网站从PHP5.2转移到了PHP5.3。我已经安装了一个身份验证模块,该模块之前可以正常工作,但是现在却出现了错误

Document labelled UTF-16 but has UTF-8 content in Entity
Run Code Online (Sandbox Code Playgroud)

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

Tom*_*zyk 5

看到这个:

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);  
Run Code Online (Sandbox Code Playgroud)

这不是一个很好的解决方案,但适用于OP。