не могу прочитать XML через PHP - PullRequest
0 голосов
/ 16 марта 2010

Я не могу найти причину, вижу только следующее сообщение об ошибке. Неправильный ввод 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>

Я пробую много способов, но все еще не могу найти решение. значение тега приветствия может быть китайским или английским.

1 Ответ

1 голос
/ 16 марта 2010

Не все байтовые последовательности кодируют символ в utf-8. Есть последовательности, которые не имеют смысла или - если выразить это - неправильно. Синтаксический анализатор xml обнаружил такую ​​неправильную последовательность во входном документе (который утверждает, что он должным образом закодирован в utf-8) и пожаловался на это. Документ xml должен быть исправлен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...