Mailinglisten-Archive |
Hallo Ralf, Ralf Eggert wrote: >>mit XMLReader habe ich mich zwar noch nicht näher befasst, aber: >>offenbar kommt da ein ä -> Atmosph_ä_re. Welches Zeichen steht in Deiner >>XML-Datei an dieser Stelle? > > Ja, da steht schon Atmosphäre. Heißt denn der Auszug in der zweiten > Meldung, dass genau bei dem "ä" der Fehler aufgetreten ist? > >>Hast Du mal das Encoding testweise auf "ISO-8859-1" gesetzt? > > Ja, aber dann tritt der Fehler an anderer Stelle auch auf. aha, dann vermute ich, dass UTF-8 und Latin-1 vermischt wird. ä im "Klartext" dürfte da eigentlich nicht stehen, eher ein kryptisches Zeichen. Wenn andere ä's richtig gelesen werden, könnte das sein, dass sie in CData-Abschnitten stehen? Kleines Zitat aus Selfhtml "Alle Zeichen des Unicode-Zeichenvorrats, die Sie mit Ihrem Editor nicht direkt eingeben können oder die nicht im verwendeten Zeichensatz vorkommen, können Sie über eine numerische Angabe notieren. Die Notationsweise ist dabei in XML die gleiche wie in HTML 4.0, also z.B. für den Buchstaben ü die Notation ü (dezimal) oder ü (hexadezimal)." http://de.selfhtml.org/xml/regeln/zeichen.htm > Kann man denn solche Fehler zumindest irgendwie abfangen? Bei mir bricht > nämlich die Verarbeitung dann genau an der Stelle ab. Man sollte zumindest erst einmal versuchen, das Problem zu verstehen. Zum Testen würde ich mal das problematische Stück aus der XML-Datei herausnehemen, und in eine vereinfachte XML-Struktur kopieren, um den Fehler leichter eingrenzen zu können. Bei UTF-8-Deklaration würde ich die Umlaute mal durch die oben gezeigte Notation ersetzen. Sollte der Fehler in einer verkleinerten XML-Datei immer noch auftreten, solltest Du mal mit einer anderen PHP-Version unter Linux testen. Eventuell auch mit einem anderen Parser, oder grundsätzlich mal die XML-Datei validieren. Mehr Ideen vielleicht nach der nächsten Testreihe. ;-) Viele Grüße Peter
php::bar PHP Wiki - Listenarchive