XMLReader und charset Problem

deostift

Erfahrenes Mitglied
Hallo zusammen,

ich verwende das XMLReader Paket um mein XML File zu parsen und auszugeben. Ich hole mir das File von einem Linux Server und lasse es auf meinem Windowsrechner entpacken um es anschließend zu parsen.

Das klappt soweit ganz gut. Allerdings scheint er das Charset nicht zu beachten
PHP:
<?xml version="1.0" encoding="ISO-8859-1"?>

Im XML File steht korrekt:
Code:
...
    <item key="gezählter Ertrag" value="" />
...

Allerdings wird das ä vom XMLReader nicht verarbeitet >> Bei der Ausgabe erhalte ich: gezählter Ertrag

Das Charset Encoding wurde im XML wie oben angegeben - das XML File ist auch valide. Eigentlich müsste der XMLReader dies doch erkennen oder?

Ich habe auch mal diese Variante versucht:
PHP:
$xml->open($this->tempFilePath, 'ISO-8859-1');

Geht nicht ... ich bekomme einfach kein ä hin ... weiß wer Rat? In der php.ini ist ISO-8859-1 default charset..
 
Php-Manual:
XMLReader functions
...
Encoding
It is important to note that internally, libxml uses the UTF-8 encoding and as such, the encoding of the retrieved contents will always be in UTF-8 encoding.

DOM Functions
...
Note: DOM extension uses UTF-8 encoding. Use utf8_encode() and utf8_decode() to work with texts in ISO-8859-1 encoding or Iconv for other encodings.


:(

damit stellt sich m.E. natürlich die Frage, wie man mit php produktiv xml-en soll, da ja das Unterstützen der Encodings gerade ein entscheidender Vorteil von xml ist!
 

Neue Beiträge

Zurück