Thomas J.S.: Umlaute wollen einfach nicht durch den Parser!

Beitrag lesen

Hallo,

Das kommt darauf an, was für einen XML-Prozessor du verwendest. Kann dieser Entities auflösen?

Gute Frage, verwendet wird meines Wissens Sablotron!

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

Du solltest auch die encoding im xml_parser_create() mitangeben.
http://at2.php.net/manual/en/function.xml-parser-create.php

Ja das mich schon, 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.

Ok, hier mal ein paar Zeilen Code die das Problem genau beschreieben:

[...]

Na ja, mit UTF-8 hat das noch nichts zu tun, du hast nach wie vor Entities. Und vor allem dur würdest in der richtigen Ausgabe ein &amul; statt ä enthalten.
Wenn schon dann so: <!ENTITY auml "&#228;">
Aber ich würde an deiner Stelle an solche Entities in XML verzichten.

Hast du für dein XSLT (in der XSL-Datei)  auch eine Encoding gesetzt? oder
http://at2.php.net/manual/en/function.xslt-set-encoding.php

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

Grüße
Thomas

--
Surftip: kennen Sie schon Pipolino's Clowntheater?
http://www.clowntheater-pipolino.net/