QUOTE (sourb @ Fr 10.07.2009, 17:19)Ich lese mit einem Script ein paar Daten via XML aus und bekomme zum Teil Umlautschreibweisen wie diese: "hei�t".
Gibt es da eine PHP-Funktion, mit der ich das in die richtige Schreibweise umwandeln kann?
Zuerst einmal sollte man herausfinden, in welcher Gegend der Fehler liegt.
Sprich: Sind die Originaldaten überhaupt korrekt? Wenn ja, werden diese mit der korrekten Codierung eingelesen? Sprich: Berücksichtigt das einlesende Script die Xml-Regeln für Codierungen?
Der Anbieter solcher Daten kann die eigene Codierung jederzeit ändern, sofern er das konsistent macht. Wenn das Script die Xml-Daten falsch auswertet, dann muß man den Fehler auch da beheben - und nicht eine Funktion drüberschicken.
Die obige Darstellung kriege ich auch, wenn ich die per ISO-8859-1 ausgelieferten Ayom-Seiten per Browsereinstellung als UTF-8 - codiert betrachte:
QUOTE F�r Spende - Gegenleistung
Bu�geldkatalog / Bussgeldrechner
Da wird ein Zeichen mit einem Codepunkt > 127 geschickt, da müßten aber zwei Byte geschickt werden anstatt nur eines, also weiß der Browser nicht, was er eigentlich darstellen soll.
Bloß: Ist das ein Problem des Einlesens / Verarbeitens der Xml-Datei oder ist es (völlig unabhängig von der Xml-Verarbeitung) ein reines Problem der Ausgabe, daß in einer UTF-8 - Ausgabe ein Zeichen mit einem Codepunkt > 127 als 1 Byte ausgegeben wird? Letzteres produziert denselben Effekt.