SimpleXML und akzentuierte Zeichen in PHP
-
21-09-2019 - |
Frage
Ich habe eine XML-Datei geschrieben, die die ISO-8859-15-Codierung verwendet, und die meisten der Daten innerhalb des Feeds sind RAN durch htmlspecialchars ().
Ich verwende dann simplyxml_load_string () den Inhalt der XML-Datei abzurufen in meinem Skript zu verwenden. wenn ich keine Sonderzeichen haben jedoch (dh: é á ó) kommt es aus wie „à © á ó“. Die
Wie kann ich mein Skript erhalten die richtige besondere Akzentzeichen angezeigt werden?
Lösung
Du bist wahrscheinlich eine andere Zeichencodierung für Sie Ausgabe als die XML-Daten verwendet, ist tatsächlich verschlüsselt.
Nach Ihrer Beschreibung, die XML-Daten verschlüsselt mit UTF-8, aber die Ausgabe wird mit ISO 8859-15. Da UTF-8 kodiert das Zeichen e (U + 00E9) mit 0xC3A9 und stellt die beiden Zeichen a und © jeweils in ISO 8859- 15.
So Sie entweder UTF-8 für die Ausgabe auch. Oder Sie wandeln die Daten von UTF-8 in ISO 8859-15 mit mb_convert_encoding
.