Moin!
Internet hört an der Sprachgrenze nicht auf.
Wenn ich jetzt in ISO-8859-1 ausliefern würde z.B. nach Grönland, kann ich dann davon ausgehen, dass der Browser des Grönländers meinen Zeichensatz versteht und in die richtigen Glyphen verwandelt?
Auch in Grönland ist bekannt, welche Unicode-Codepoints sich in ISO-8859-1 hinter den einzelnen Bytewerten verstecken.
Und da HTML Unicode als Zeichensatz benutzt, der Browser also den gesamten Unicode-Zeichenvorrat verarbeiten können muß, gibt es von dieser Seite her absolut keinerlei Probleme. Denn auch die Entities oder numerischen Zeichenreferenzen sind ja Bestandteil des Unicode-Zeichensatzes, müssen also vom Browser irgendwie verarbeitet werden können.
Jetzt sag bitte nicht einfach, dafür gibt es utf-8. Das ist mir klar.
Aber was ist mit ISO-8859-1 Seiten, die in Grönland aufschlagen, und der dort hat nur seinen ISO-8859-10, zumal er ja wahrscheinlich auch nicht die passende Tastatur für "meinen" ISO-8859-1 hat.
Die Tastatur ist irrelevant, Tippen ist zum Empfang einer Webseite nicht notwendig.
Relevant ist, dass der Computer eine Schriftart installiert haben muß, in der für die übermittelten Zeichen ein Buchstabenbild definiert ist - ansonsten sieht man nämlich nichts.
Glücklicherweise ist das bei den westeuropäischen Codierungen absolut kein Problem, die beherrscht (seltsamerweise) jeder Rechner dieser Welt. Englisch ist halt die Hauptsprache in diesem Gebiet, und die diversen existierenden Anwendungen bergen eben eine unwiderstehliche normative Kraft des Faktischen. Sprich: Selbst ein chinesischer Computer kann es sich nicht leisten, keine Zeichendarstellung für englische Schriftzeichen zu beherrschen. Alleine schon deswegen, weil ja auch die Chinesen die URLs lange Zeit in diesen Zeichen eingetippt haben - und HTML nutzt ja auch englische Begrifflichkeiten.
Der schreibt jetzt was in meine Datenbank und ich habe nachher wahrscheinlich nur Quatsch drinstehen, oder? Sein Browser wird ja nicht sagen, er sendet nicht, nur weil er den Zeichnsatz nicht hat. Der sendet einfach... Oder?
Richtig. Wenn zu befürchten ist, dass dein Besucher dir ins Formular Zeichen reinschreibt, die in deiner Codierung der Seite nicht darstellbar sind, hast du ein Problem. Das Resultat ist - in verschiedenen Ausprägungen - die Zerstörung der Zeichen.
Wahlweise kriegst du:
1. Fragezeichen statt der nicht-darstellbaren Zeichen.
2. Das Zeichen in einer anderen Codierung, als du erwartest (das Eurozeichen wird, wenn es nicht in ISO-8859-1 paßt, ggf. wie in Windows-1252 codiert).
3. Numerische Zeichenreferenzen, die man aber nicht mehr von manuell eingegebenen Referenzen unterscheiden kann.
Deshalb nimmt man UTF-8 (oder gerne auch jede andere beliebige Codierung, die sowohl den gesamten Unicode-Zeichenvorrat darstellen kann als auch von allen beteiligten Systemen fehlerfrei verstanden wird), damit passiert das garantiert nicht.
Ist wahrscheinlich aber zu einfach gedacht, weil so ein paar Zeichnsätze angesichts der Millionen von Bytes heutiger Programme locker in den Browser passen. Wer ist denn da für das Rendering eigentlich zuständig? Der Browser selber? Zumindest für seine Standardschriftarten?
Ich weiß mindestens von Opera, dass man dort für jede Codepage in Unicode einen passenden Standard-Font einstellen kann. Und man sollte auch nicht allzuviel Gedanken daran verschwenden, wie denn andere Sprachen wie etwa Chinesisch mit "Schriftarten" umgehen - nur weil die auf der deutschen Variante eingesetzte "Times New Roman" kein Chinesisch kann und der chinesische Font keine serifen hat. Serifen sind eine rein westliche Erfindung an den Buchstaben. Die chinesischen Schriftzeichen dürften im besten Fall nur unleserlich werden, im schlimmsten Fall ihre Bedeutung ändern, wenn da "Serifenstrichelchen" hinzugedichtet werden. Typographie ist nun mal extrem kulturkreisabhängig. Also sei man froh, überhaupt eine Schriftart zu haben, um den Text lesen zu können.
- Sven Rautenberg
"Love your nation - respect the others."