molily: Umlaute in XML werden falsch dargestellt

Beitrag lesen

Hallo,

<?xml version="1.0" encoding="ISO-8859-15" ?>
In einer PHP-Datei wird dann die XML mittels "simplexml_load_file" ausgelesen.

libxml verwendet intern immer UTF-8, alles wird in UTF-8 umgewandelt. Wenn du mit simplexml_load_file() eine XML-Datei mit irgendeiner Kodierung einliest und dann darauf zugreifst, hast du immer UTF-8-kodierte Strings.
(Ich sehe gerade, Dicki hat bereits darauf hingewiesen.)

Schreibe ich explizit das UTF-8 verwendet werden soll

Die Kodierung in der XML-Datei ist egal, da liegt der Fehler nicht.

Schreibe ich dem Browser mittels header("Content-Type: text/html; charset=UTF-8") vor, er soll UTF-8 verwenden, werden aus der XML-Datei ausgelesene Umlaute zwar korrekt dargestellt, aber alle anderen 'normalen' Umlaute sind nun Fragezeichen.

Dann stelle deine Site komplett auf UTF-8 um - oder wende auf jeden String, den du aus dem SimpleXMLElement-Objekt liest, utf8_decode() an.

Mathias