我找不到原因,只看到以下错误信息。 输入不正确UTF-8,表示编码!字节:0x00 0x5D 0x5D 0x3E
以下是我的PHP代码
$reader2 = new XMLReader();
$reader2->XML($xmlstring);
$user_data="";
while ($reader2->read()) {
if ($reader2->name == "user_id" && $reader2->nodeType == XMLReader::ELEMENT) {
$reader2->read();
$user_data .=$reader2->value;
}
}
$reader2->close();
以下是XML数据
<?xml version="1.0" encoding="UTF-8" ?>
<SOAP:Envelope xmlns:SOAP="http://www.w3.org/2003/05/soap-envelope" >
<SOAP:Body >
<user_id>1234567890</user_id>
<greeting_name><![CDATA[ABCDEF ..yl/�]]></greeting_name>
</SOAP:Body>
</SOAP:Envelope>
我尝试了很多方法,但仍然无法找到解决方案。问候语标记值可以是中文或英文单词。
答案 0 :(得分:1)
并非所有字节序列都在utf-8中编码字符。有些序列没有任何意义,或者说 - 直言不讳 - 是错误的。 xml解析器在输入文档中发现了这样一个错误的序列(它声称是正确的utf-8编码)并抱怨它。需要修复xml文档。