URI: http://www.j-a-b.net/web/char/char-codepage
aktualisiert: 2009-12-04
© 2002-2009 Contact
Der ASCII-Zeichensatz wird über sieben bit kodiert. Rechner benutzen als Informationseinheit in der Regel jedoch nicht 7bit, sondern 8bit (1byte). Das überzählige bit wurde im ASCII-Zeichensatz zur Fehlerentdeckung genutzt. Nun wurde es durch die weltweite rasante Verbreitung von Rechnern bald schon notwendig, auch andere Schriftzeichen ein- und ausgeben zu können. Was lag näher, als das überzählige bit zu benutzen, um die Zeichenanzahl zu verdoppeln?
Auf diese Weise entstanden etliche, völlig inkompatible Erweiterungen. Um das entstehende Chaos abzuwenden und in geordnete Bahnen zu lenken, wurde eine Reihe an Standards entwickelt. Das aus dem ASA hervorgegangene ANSI entwickelte den erweiterten ASCII-Zeichensatz von 256 Zeichen und die ISO veröffentlichte eine Reihe an Standards, welche die Sonderzeichen der unterschiedlichen europäischen Sprachen, sowie Arabisch, Griechisch, Hebräisch, Kyrillisch und Thai zu einer Gruppe ordnen, die als ISO-8859 Reihe bekannt geworden ist.
Die von IBM und später auch die von Microsoft als Windows-1250er Reihe veröffentlichten sogenannten Codepages sind dazu im Gegensatz nicht standardisiert. Microsoft ging im Gegenteil so weit, schon bestehende Standards zu ignorieren und auch den für Steuerzeichen reservierten oberen Bereich von Zeichen 128 bis Zeichen 159 der 8bit-Zeichensätze mit eigenenen Zeichen zu belegen. Diese Praxis führt bis heute immer wieder zu Verwirrung und Inkompatibilitäten.
Um einen Text richtig darzustellen bzw. verstehen zu können, ist es notwendig, dass der Autor die verwendete Zeichenkodierung angibt. Für Webseiten lassen sich Zeichenkodierungen über drei verschiedene Möglichkeiten angeben
<head />-Bereich der Seite wird in einem <meta />
Element die Zeichenkodierung notiert
Am gängigsten ist die Variante, die Zeichenkodierung im <meta />
Element zu notieren, beispielsweise
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
Mit diesem Element wird dem Browser mitgeteilt, dass es sich um ein HTML-Dokument
handelt, welches UTF-8
Kodierung benutzt.
Das erste Attribut des <meta />
Elementes, http-equiv, lässt erkennen, dass es auch im http
-header, welcher vom Server ausgeliefert wird, eine entsprechende Angabe geben kann.
Wer direkt oder über serverseitiges scripting Zugriff auf die Konfiguration
des Servers hat, kann über die Angabe eines content-type den
verwendeten mime-
Typ und die Zeichenkodierung angeben, welche der angeforderten Seite als http-header
vorausgeschickt werden, wie folgendes Beispiel zeigt:
Content-type: application/xhtml+xml; charset=utf-8
Letztendlich gibt es noch die Möglichkeit, bei Verwendung von xhtml/xml im
Prolog die Zeichenkodierung festzulegen. Beispiel:
<?xml version="1.0" encoding="utf-8"?>
Die höchste Priorität bei sich widersprechenden Angaben besitzt hier die
Angabe im http-header, gefolgt von einer im xml-Prolog festgelegten
Zeichenkodierung und zuletzt die im <meta /> Element
gemachte Angabe.
Nicht nur Webseiten, sondern auch Stylesheets sollten mit Information über die verwendete Kodierung ausgestattet werden. Die eigentliche Syntax eines Stylesheets besteht zwar ausschließlich aus Zeichen des ASCII-Zeichensatzes, Werte von Eigenschaften und Kommentare können jedoch auch Zeichen enthalten, welche nicht zum ASCII-Zeichensatz gehören. Wenn dann keine Angabe zur Kodierung vorhanden ist, kann es zu Fehlern beim Parsen des Stylesheets kommen.
Dies geschah beispielsweise vor einiger Zeit, wenn man mit Mozilla die Seiten des Konkurrenten Opera aufrufen wollte. Aufgrund fehlender Kodierungsangaben in Operas Stylesheet verursachten darin befindliche norwegische Kommentare mit Sonderzeichen Parserfehler bei Mozilla mit dem Resultat, dass das Stylesheet nicht verwendet werden konnte.
In Stylesheets wird die verwendete Zeichenkodierung über eine at-Regel angegeben.
Diese Regel muss an erster Stelle im Stylesheet stehen und sieht
beispielsweise folgendermaßen aus:
@charset: 'ISO-8859-1';
Zum Schluß folgt hier noch eine Aufstellung der ISO-8859 Zeichenkodierungen mit den von ihnen abgedeckten Bereichen der Schriftsprachen. Auf der folgenden Seite kannst Du durch Variation der Seitenkodierung Dir die unterschiedlichsten Zeichensätze anzeigen lassen.
| ISO-Standard | Alias[1] | Beschreibung |
|---|---|---|
| [1] weitere Aliase siehe Kurzreferenz | ||
| ISO 8859-1 | (Latin-1) | Western, für westeuropäische Sonderzeichen, der gebräuchlichste ISO-Zeichensatz |
| ISO 8859-2 | (Latin-2) | Central, für zentral- und osteuropäische Sonderzeichen |
| ISO 8859-3 | (Latin-3) | Southern, südeuropäische und türkische Sonderzeichen |
| ISO 8859-4 | (Latin-4) | Northern, baltische (und skandinavische) Sonderzeichen |
| ISO 8859-5 | Kyrillisch | |
| ISO 8859-6 | Arabisch | |
| ISO 8859-7 | Griechisch | |
| ISO 8859-8 | Hebräisch | |
| ISO 8859-9 | (Latin-5) | Türkisch, weitestgehend wie Latin-1 |
| ISO 8859-10 | (Latin-6) | Northern, Variation von Latin-4 |
| ISO 8859-11 | Thai | |
| ISO 8859-12 | nicht belegt (in Bearbeitung für Gälisch, Walisisch und Irisch) | |
| ISO 8859-13 | (Latin-7) | Baltic |
| ISO 8859-14 | (Latin-8) | Celtic |
| ISO 8859-15 | (Latin-9) | Western, eine leichte Veränderung des Latin-1 Standards |
| ISO 8859-16 | (Latin-10) | Central, Variation (Kombination) von Latin-2 und Latin-1 |
Anmerkung zum Begriff Zeichensatz:
Das W3C
empfiehlt,
diesen Begriff nicht zu verwenden, sondern statt dessen den Begriff
Zeichenkodierung, welcher genauer ausdrückt, dass es sich um
Kodierungsinformationen zu Schriftzeichen handelt und nicht um die Schriftzeichen
selber (diese Empfehlung bezieht sich auf den englischsprachigen Raum, für
die Begriffe charset bzw. character set, Zeichensatz, und
character encoding, Zeichenkodierung).