uepselon: Umlaute wollen einfach nicht durch den Parser!

Beitrag lesen

Hallo,

Sabltron ist der XSL-Prozessor. Ein xml_parser_create() ruft normalerweise expat auf dem Plan. (kannst ja mit phpinfo nachlesen was da installiert ist)

Ok, hab mich da vertan, für XML wird in der Tat Expat verwendet.

... hab jetzt alles auf UTF-8 umgestellt.

Wenn du das nicht wirklich brauchst, hätte ich es an deiner Stelle auf iso-8859-1 gesetzt, die default Qelencodierung und PHP ist iso.8859-1, aber auf der anderen Seite endodiert PHP ein Dokument intern immer als UTF-8.

Also ich hab es jetzt so gemacht, im XML file ist das Encoding auf UTF-8 gesetzt so bin ich vom Zeichencode nicht abhängig. Umlaute speichere ich jetzt im Format &#XXX; z.B. ä, d.h. in PHP ersetze ich die Zeichen entsprechend.

Beim anschließenden parsen verwende ich als Ausgabe Encoding dann ISO-8859-1 und aus den Zahlencodes wird dann entsprechend das ä etc. gesetzt.

Wenn schon dann so: <!ENTITY auml "&#228;">
Aber ich würde an deiner Stelle an solche Entities in XML verzichten.

Ja das hab ich damit auch erreicht.

Mehr fällt mir jetzt auch nicht dazu ein, aber ich bin auch kein Expterte für PHP ;-)

Naja, aber immerhin hast du mir gewisse Denkanstöße bezüglich des encodings gegeben und so hab ich dann eine für mich passende Lösung erarbeitet (ganz dem SELF Prinzip entsprechend ;-) )

Gruß,

ueps