PHP ile XML okuyamaz

1 Cevap php

I can't find the reason, only see the following error message. Input is not proper UTF-8, indicate encoding ! Bytes: 0x00 0x5D 0x5D 0x3E

aşağıdakiler benim php kodu vardır

$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();

Aşağıdakiler XML veri vardır

<?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>

Ben pek çok yolu denemek, ama yine de çözüm bulamıyor. tebrik etiket değeri Çince veya İngilizce kelime olabilir.

1 Cevap

Tüm bayt dizileri utf-8 bir karakteri kodlamak. Yanlış künt-are koymak - hiçbir anlamı veya yok dizileri vardır. Xml ayrıştırıcı (düzgün utf-8 kodlanmış olduğunu iddia) giriş belgesinde böyle bir yanlış dizisini bulundu ve bu konuda şikayet etti. Xml belgesi sabit olması gerekir.