XML, UTF-8 und Umlaute

12/03/2009 - 13:24 von tom knauf | Report spam
Moin, moin

ich bitte um Hilfe bei folgendem Problem:

Wir bekommen XML-Dateien, ANGEBLICH laut Header in UTF-8.

Wenn ich die mit Inhalte STRCONV(cWert,11) umwandle, werden Umlaute
weggelassen, z.B. das "ü"
In der Datei ist "ü" meiner Meinung nach mit CHR(195) falsch codiert, müßte
ein Double Byte sein (C3 BC)
Auch der IE verweigert das Laden.

Nach etlichen Recherchen im Netz (Wiki, W3C, UTF.ORG) konnte ich aber keine
verbindliche Quelle dafür finden,
das Umlaute mit Doublebyte codiert werden müsssen.

Hat jemand da einen Link oder Ähnliches für mich ?

Danke Euch
Tom
 

Lesen sie die antworten

#1 Bernhard Sander
12/03/2009 - 14:35 | Warnen spam
Hallo tom

Wir bekommen XML-Dateien, ANGEBLICH laut Header in UTF-8.

Wenn ich die mit Inhalte STRCONV(cWert,11) umwandle, werden Umlaute
weggelassen, z.B. das "ü"
In der Datei ist "ü" meiner Meinung nach mit CHR(195) falsch codiert, müßte
ein Double Byte sein (C3 BC)
Auch der IE verweigert das Laden.


chr(195) ist doch schonmal das C3, da müsste in der Datei dahinter noch das BC
oder chr(188) zu finden sein.
Wie konvertierst Du denn den Text? Byte für Byte? Dann geht es sicher schief bei
den "hohen" ANSIs (0x80 und höher). Konvertiere den ganzen Text auf einmal, das
sollte besser klappen, STRCONV kann das.

Nach etlichen Recherchen im Netz (Wiki, W3C, UTF.ORG) konnte ich aber keine
verbindliche Quelle dafür finden,
das Umlaute mit Doublebyte codiert werden müsssen.


UTF-8 ist ein Multibyte-Code und benutzt 1 bis 4 Bytes.
Ein Zeichen benötigt 1 Byte im Bereich 0..7f, danach werden mehr Bytes
verwendet. Daher stimmen die ANSI-Codes 0..7f mit UTF-8 überein. Ein ü steht im
ANSI-Code oberhalb von 7f, genaugenommen bei FC, also sind mindestens 2 Byte in
UTF8 nötig.
Das ist aber bei www.unicode.org recht ausführlich beschrieben. Siehe dazu:
http://www.unicode.org/faq/utf_bom.html die Fragen zu UTF8 bzw. hier:
http://www.unicode.org/versions/Unicode5.1.0/ im Kapitel 3 "Conformance" unter
Punkt D92.
Die Code-Charts findest Du hier: http://www.unicode.org/charts/
Und hier ein recht nützlicher Link zum Nachschlagen von UTF-Codes:
http://www.unicode.org/charts/unihan.html
Die Seite ist zwar in erster Linie zum Suchen von
chinesisch/japanisch/koreanisch gedacht, funktioniert aber mit allen Unicodes.

Gruß
Bernhard Sander

Ähnliche fragen