Umlaute

gingerswelt

Mitglied
Hallo zusammen,

zum auslesen einer xml-Datei verwende ich folgenden Code:

Code:
$xml = simplexml_load_file($path);
echo $xml->$content->text;

Bei Umlauten erhalte ich allerdings stets falsche Werte: für statt für
Ich hatte bereits die Funktion htmlentities($xml->$content->text) angesetzt,
aber auch diese liefert mir kein richtiges Ergebnis. Wahrscheinlich, weil
es bereits nur Müll geliefert bekommt.

Wie kann ich also Umlaute sicher aus einer XML-Datei auslesen?

Viele Grüße
ginger
 
Yeap, das war es. Danke.

Allerdings wundert es mich, dass in der erzeugten HTML-Datei ohne die Funktion
der Text richtig steht, aber der Browser diese komische Interpretation vollzieht.
Warum passiert das?
 
htmlentities() verwendet standardmässig den Zeichensatz ISO-8859-1

Behandelst du einen utf-8-String, als wäre er ISO-8859-1, wird das daraus, was du nicht wolltest. In deinem Fall wird aus den Zeichen
Ã-> Ã
und
¼-> ¼
...also deren einzelne HTML-Entität.

Ab PHP 4.0.3 kannst du bei htmlentities optional den Zeichensatz angeben:
PHP:
echo htmlentities('für',ENT_COMPAT,'utf-8');
...dann geht es auch(weil der String dann als utf-8 behandelt wird)
 
Zurück