Mailinglisten-Archive |
Hallo Yannik, > *gg* Ist mir egal... Mein richtiger Name ist Yannik, wenn dir das lieber > ist :-). noch lieber wäre mir, Du würdest Deinen richtigen Namen ins Feld From: eintragen, so wie die meisten hier. :-) >>Versuch mal dies: <?xml version="1.0" encoding="ISO-8859-1"?> > > Das war schonmal eine gute Idee... Jetzt kommt wenigstens kein invalid > character Fehler mehr...Trotzdem funktioniert es mit UTF-8 als encoding > nicht. Dabei is der ISO-Zeichensatz doch in ISO komplett enthalten, doer > sehe ich das falsch...? Ja, leider: http://de.wikipedia.org/wiki/Utf8 In der Tabelle Kodierung findest Du: "In diesem Bereich (128 Zeichen) entspricht UTF-8 genau dem ASCII-Code: Das höchste Bit ist 0, die restliche 7-Bitkombination ist das ASCII-Zeichen." ö ist 148! Das heißt, in UTF-8-Codierung brauchst Du 2 Byte, was dann bei Nicht-UTF8-Ausgabe als ö erscheint. Lesenswert auch http://de.wikipedia.org/wiki/ASCII > Ausserdem habe ich nochwas bemerkt: der character-Data-Handler wird bei > Entitäten mehrmals aufgerufen. Da ich aber immer nur den ersten Aufruf > beachtet habe, sind die Entitäten und alles, was dahinter steht immer > abgeschnitten worden. :-(. > Wenigstens werden die <> jetzt korrekt ausgewertet. > Aber aus ö wird jetzt ö. > Sieht für mich nach einem Zeichensatzproblem aus... Aber ich habe den > ISO-Zeichensatz doch jetzt angegeben... Was könnte da noch falsch sein...? > (Um ein Browseranzeigeproblem auszuschliessen habe ich in dem > character-Data Handler auch mal htmlentities auf den ausgelesenen String > angewendet. Du hast uns noch nicht verraten, ob Du mit PHP4 oder PHP5 arbeitest. Da gibt es grundlegende Unterschiede: http://www.media-palette.de/xml-line-0-4-3-6-alpha/ (siehe ganz unten auf der Seite.) Wie ich vorhin gerade getestet habe, stimmt die Aussage inzwischen wohl auch für PHP4 nicht mehr, dass das Quelldokument das Format der Ausgabe beeinflusst. Das scheint bei PHP4 standardmäßig Latin1 zu sein und bei PHP5 UTF-8. > Die meisten meiner xml-Inhalte sind recht kurz... Die CDATA Abschnitte > würden die ganze Datei um ca. 20% Grösser machen. Und es darf ja kein > ]]> in den Elementen vorkommen :-(. Ja, besser man wandelt die Zeichen, wieder um, die man codiert benötigt. Ich habe meine Klasse jetzt so erweitert, dass sie solche Fehler abfängt. (CData-Abschnitte werden ausgelassen.) Bei Interesse kannst Du ja mal gucken, wie ich das gelöst habe: http://www.media-palette.de/xml-line-0.4.0.zip Viele Grüße Peter
php::bar PHP Wiki - Listenarchive