Sonderzeichen und UTF-8: Haste mal ‘nen Euro?
„Schöne Buchstaben” für Währungen, Umlaute und Sonderzeichen sind im Quelltext sind besser lesbar – aber trotzdem tauchen auf der Webseite immer wieder kryptische Zeichen auf? …
Der meist verwendete und zuverlässigste Zeichensatz des Internets ist Ascii (nicht zu verwechseln mit einer Schriftart, also einem „Font“, – hier geht es darum, die Zeichen auf einen Zahlenraum abzubilden, z.B. die “41″ auf ein “A”). Ascii ist ein Verfahren zur Kodierung alphnumerischer Schriftzeichen und Steuerzeichen. Für jedes Zeichen gibt es einen eindeutigen Zahlencode, nicht aber eine Anweisung, wie das Zeichen auf dem Monitor oder im Druck darzustellen ist. Mit Ascii stehen nur 128 Zeichencodes zur Verfügung, davon sind auch noch 32 Zeichen Steuerzeichen, die nicht angezeigt und nicht gedruckt werden können.
Um an einen größeren Zeichenvorrat zu kommen wurden über die Jahre erweiterte Zeichencodes entwickelt, die allesamt nicht besonders kompatibel waren. Mit ISO 8859 gibt es dann endlich einen standardisierten Zeichensatz, der die freien oberen 128 Zeichen für die Sonderzeichen der verschiedenen Kulturen nutzt.
Und was sagt der Webserver dazu?
Der Server prüft anhand der ersten paar Bytes eines Dokuments, welche Zeichenkodierung gilt und benachrichtigt das Benutzerprogramm durch den Charset-Parameter im Content-Type-Header des HTTP-Protokolls. Da aber manche Server nicht gestatten, einen Charset-Parameter zu senden und andere einfach nicht entsprechend konfiguriert sind, bietet HTML seit Version 4 die Möglichkeit, den Zeichensatz durch die Angabe von <meta http-equiv=”content-type” content=”text/html; charset=iso-8859-1″> (Western ISO Latin 1) im Kopf des Dokuments zu definieren.
Die Angabe des Zeichensatzes ISO-8859 sorgte für eine breite Unterstützung der Sonderzeichen in modernen Browsern ab Version 5 und machte die Seiten einem internationalen Publikum zugänglich, denn so konnte schon der Browser für die richtige Darstellung der Seite sorgen, wenn nur der entsprechende Zeichensatz beim Besucher installiert ist. Auf die Codierung von Umlauten, Satzzeichen und kaufmännischen Zeichen im HTML-Dokument darf und soll verzichtet werden, um den Quelltext lesbarer zu gestalten: “ä, Ä, ö, Ö, ü, Ü, ß, ©, è, à”.
Durch ISO-8859-1 wurden Albanisch, Baskisch, Dänisch, Deutsch, Englisch, Faroese, Finnisch, Französisch, Irisch, Isländisch, Italienisch, Katalanisch, Niederländisch, Norwegisch, Portugiesisch, Rhaeto-Romanisch, Schwedisch, Schottisch, Spanisch zusammen mit Afrikaans und Swahili unterstützt.
Sollte die Seite türkische Zeichen verwenden, wurde ISO-8859-9 notiert. In allen Zeichensätzen sind die ersten 128 Zeichen identisch, so dass die üblichen lateinischen Buchstaben, die arabischen Ziffern und die üblichen Sonderzeichen wie Satzzeichen und kaufmännische Ziffern immer zur Verfügung stehen.
|
! |
" |
# | $ |
% | & |
' |
( | ) | * | + | , | – | . | / |
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < |
= | > |
? |
| @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
| P | Q | R | S | T | U | V | W | X | Y | Z | [ | ] | ^ |
_ |
|
` |
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
| p | q | r | s | t | u | v | w | x | y | z | { |
| | } |
~ | |
| ¡ | ¢ | £ | |
¥ | |
§ | ¨ | © | ª | « | ¬ | – | ® | ¯ | |
| ° | ± | 2 | 3 | ´ | µ | ¶ | · | ¸ | 1 | º | » | ¿ | |||
| À | Á | Â | Ã | Ä | Å | Æ | Ç | È | É | Ê | Ë | Ì | Í | Î | Ï |
|
Ñ | Ò | Ó | Ô | Õ | Ö | * | Ø | Ù | Ú | Û | Ü | YZ | |
ß |
| à | á | â | ã | ä | å | æ | ç | è | é | ê | ë | ì | í | î | ï |
| ñ | ò | ó | ô | õ | ö | ÷ | ø | ù | ú | û | ü | yZ | ÿ | ||
Bemerkung: ein paar Zeichen fehlen noch in der Tabelle oder sind noch als Unicode-Entities geschrieben – weil ich sie auf der Tasttur schlichtweg nicht erzeugen kann.
Am Rande: ISO-8859-1 (ISO Latin 1) umfasst die in Westeuropa gebräuchlichen Buchstaben und Sonderzeichen, während ISO-8859-2 (ISO Latin 2) die Buchstaben und Zeichen der osteuropäischen Länder enthält, die lateinische Buchstaben schreiben – hier hat der Kalte Krieg der 80iger Jahre die Grenzen gesetzt, und nicht die Sprachfamilien.
Für osteuropäische Sprachen, die nicht in Lateinschrift schreiben, hat die ISO eigene Zeichensätze definiert.
Dem Zeichensatz ISO-8859-1 fehlen ein paar französische und finnische Zeichen, das niederländische ij, die deutschen Anführungszeichen unten und er kennt obendrein zwar einen japanischen Yen ¥, aber noch keinen Euro.




Sonderzeichen schreibt man am vernünftigsten in Unicode
Kommentar by unicodler — 23. Juni 2010 @ 07:47