Heim > Backend-Entwicklung > PHP-Tutorial > Lösung für das Problem verstümmelter chinesischer Zeichen, wenn DOMDocument XML in PHP speichert

Lösung für das Problem verstümmelter chinesischer Zeichen, wenn DOMDocument XML in PHP speichert

高洛峰
Freigeben: 2023-03-03 22:48:01
Original
1845 Leute haben es durchsucht

DOMDocument in PHP hat kein Problem mit XML-Operationen, solange es auf Englisch ist, aber wenn es sich um chinesische Schriftarten handelt, werden verstümmelte Zeichen angezeigt.

PHP Das interne DOM ist ein utf8-Mechanismus. Die Codierung wird durch Überprüfen des Zeichensatzes des Metas festgelegt. Wenn kein Zeichensatz vorhanden ist, erfolgt die Verarbeitung als iso8859. In diesem Fall ist die Ausgabe utf8 . , also habe ich verstümmelte Zeichen gesehen, zum Beispiel:

$xml = new DOMDocument();
@$xml->loadHTML(&#39;<div>我就是测试看看</div>&#39;);
$dom = new DOMXPath($xml);
echo $dom->query(&#39;//div&#39;)->item(0)->saveXML();
Nach dem Login kopieren

Öffnen Sie das Web page Bei der Ausführung werden Sie feststellen, dass die Ausgabe verstümmelt ist. Wie kann dieses Problem gelöst werden? Es gibt zwei Möglichkeiten.

Die erste: Geben Sie die Codierung beim Laden von HTML an. Der folgende Code wird aus der Antwort im offiziellen php.net-Dokument zitiert:

$doc = new DOMDocument();
$doc->loadHTML(&#39;<?xml encoding="UTF-8">&#39; . $html);
foreach ($doc->childNodes as $item)
{
if ($item->nodeType == XML_PI_NODE)
{
$doc->removeChild($item); // remove hack
}
}
$doc->encoding = &#39;UTF-8&#39;; // insert proper
Nach dem Login kopieren

Die zweite Methode: Konvertieren Sie die Ausgabezeichen über iconv neu. Der Code lautet wie folgt:

echo iconv("UTF-8", "GB18030//TRANSLIT", $dom->saveXML($n) );
Nach dem Login kopieren

Das Obige ist die vom Herausgeber eingeführte Lösung für das Problem verstümmelter chinesischer Zeichen beim Speichern von XML in DOMDocument. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht Der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte mich auch bei Ihnen allen für Ihre Unterstützung der chinesischen PHP-Website bedanken!


Weitere PHP-Lösungen für das chinesische verstümmelte Problem beim Speichern von XML durch DOMDocument finden Sie auf der chinesischen PHP-Website für verwandte Artikel!

Verwandte Etiketten:
xml
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage