stw: XML und "fremde Sprachen"

Beitrag lesen

hallo fredy,

In XML sind ja "Sonderzeichen" nicht erlaubt. Wenn ich jetzt eine fremde Sprache (= nicht Deutsch, zB Russisch, Griechisch, ...) in einem XML-Dokument verwenden möchte, was mach ich dann mit den ganzen "Nicht-Deutschen-Zeichen", damit mein Parser keinen Fehler ausgiebt.

Ich hab' da in SELFHTML etwas von Unicode gelesen. Muß ich alle Zeichen in Unicode umwandeln.
<

eine angabe wie z.B. <?xml version='1.0' encoding='iso-8859-4'?> besagt nichts über die darstellung von zeichen sondern dient lediglich der korrekten _interpretation_ der datei (bzw. des abschnittes).
es handelt sich hierbei im prinzip um eine codepage-angabe.(zeichen-kodierung)
sicherlich kennst du daß vom bios-setup, du drückst auf ein z und es erscheint ein y, da englische codepage bzw. andere tastaturbelegung bzw. zeichenkodierung)

um die zeichen noch richtig darstellen zu können benötigst du natürlich eine zur zeichen-kodierung passende schriftdatei.
letztendlich gilt, daß wenn keine schriftdatei (z.b. kyrillische darstellung) vorhanden, dann auch keine korrekte darstellung.
die iso - norm bezieht sich normalerweise auf 8 bit (256 zeichen).
das unicode-format bedient sich 16 bit mit denen alle (nicht ganz, einige fehlen nocht) schriften _decodiert_ werden können.

zb. für dein dokument gibst du eine codepage für kyrillisch an. in deinem dokument erscheint ein ä. entweder machst du hier ein entitie oder du gibst direkt einen unicode-wert für ein ä an.
der parser braucht das zur interpretation.
wenn du aber ein ä schreibst, dann schreibst du in wirklichkeit nur ein 8 bit zeichen in das dokument, welches auf deinem computer nur als ä dargestellt wird.
du kannst in deinen elementen auch direkt eine zeichensatz-angabe schreiben (siehe charset etc.) und per css auch auf eine dazu passende schrift zeigen lassen (style="font-family: kyrillisch"), aber wie gesagt, wenn keine schriftdatei vorhanden dann auch keine darstellung.

(
stichwort downloadbare schriften : wird vom ie und ns unterschiedliche verwirklicht und ist leider noch nicht ausgereift.
)

es gibt auch schon programme die dir den gesamten text in unicode speichern. (es sei denn das ausgabeprogramm kann das von alleine)

Wenn ich diese in Unicode codierten Zeichen in einen Browser ausgeben, werden die Zeichen dann richtig interpretiert? (Unicode hat ja über 60.000 Zeichen ....)
<
interpretiert ja
korrekt dargestellt ja, wenn schriftdatei zur darstellung vorhanden und angewählt.
das hängt schließlich vom dem verarbeitendem programm ab, obs die dekodierten zeichen verarbeiten und anzeigen kann.

das w3 geht dahin in zukunft alles auf unicodes basieren zu lassen.
übrigends könntest du anstatt iso genausogut eine din angeben.
letztendlich ist dies auch davon abhängig, ob das ziel- bzw. verarbeitende programm diese codierung kennt.
auch brauser sind nur programmen ;)
du kannst beim ie zb. über ansicht - codierung manuell eine zeichen-kodierung auswählen (z.b. utf-8, unicode) oder die autom. auswahl aktivieren.

ich hoffe daß hier hat dir ein bißchen im verständnis weitergeholfen.
das thema ist eigentlich so interessant, daß müßte eigentlich mal so richtig ausdiskutiert werden würde sicherlich den rahmen hier sprengen.

gruß
stw