PHP DOMDocument loadHTML kodiert UTF-8 nicht korrekt
Problem:
Beim Parsen von HTML mit PHPs DOMDocument::loadHTML() werden UTF-8-Zeichen nicht richtig interpretiert, Dies führt zu einer verzerrten Ausgabe.
Ursache:
DOMDocument geht standardmäßig davon aus, dass die Eingabezeichenfolge in ISO-8859-1-Kodierung vorliegt. UTF-8 wird jedoch häufig in HTML5 verwendet. Beim Laden von UTF-8-Zeichenfolgen ohne Angabe der Kodierung interpretiert DOMDocument sie falsch.
Lösung:
Um dieses Problem zu beheben, müssen Sie die richtige Kodierung für die Eingabe angeben Zeichenfolge. Sie haben mehrere Möglichkeiten:
Beispiel:
Dieser Code demonstriert die Verwendung der Funktion mb_encode_numericentity():
$profile = '<p>イリノイ州シカゴにて、アイルランド系の家庭に</p>'; $dom = new DOMDocument(); $dom->loadHTML(mb_encode_numericentity($profile, [0x80, 0x10FFFF, 0, ~0], 'UTF-8')); echo $dom->saveHTML();
Von Mithilfe dieser Techniken können Sie sicherstellen, dass UTF-8-Zeichen in Ihrem PHP korrekt analysiert und angezeigt werden DOMDocument.
Das obige ist der detaillierte Inhalt vonWarum verarbeitet mein PHP DOMDocument::loadHTML() UTF-8 nicht korrekt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!