Zeichenkodierung: So werden Webseiten korrekt dargestellt

(http://www.zdnet.de/magazin/39159886/zeichenkodierung-so-werden-webseiten-korrekt-dargestellt.htm)

von Tony Patton, 22. Januar 2008

Der korrekte Zeichensatz ist keine Glückssache - die Darstellung von Text sollte nicht dem Zufall überlassen werden. ZDNet erklärt, wie man Zeichenkodierungen für Webseiten deklariert, welche Optionen vorhanden sind und warum man sie braucht.

Bei der Erstellung von Webseiten gibt es eine Reihe von Optionen, die Entwickler gerne übersehen. Eine solche ist die Zeichenkodierung. Sie ermöglicht es, festzulegen, welche Zeichensätze von einer Seite unterstützt werden.

Die Zeichenkodierung einer Website kann auf unterschiedlichste Weise angegeben werden, etwa im HTTP-Header oder in einem Meta-Tag. Man sollte die Zeichenkodierung immer deklarieren, um sicherzustellen, dass die Seite auch korrekt angezeigt wird.

Warum man sich über die Zeichenkodierung Gedanken machen sollte

Die mit einer Webseite verknüpfte Zeichenkodierung bestimmt, wie die Seite vom Webbrowser dargestellt wird. Eine wichtige Unterscheidung, die man verstanden haben sollte, ist die zwischen Zeichenkodierung und Zeichensatz.

Das Computer-Wörterbuch Foldoc[1] definiert einen Zeichensatz als eine bestimmte Zuordnung zwischen Zeichen und Bytestrings, also die Kombination einer bestimmten Zeichenkodierung, die Bytestrings Ganzzahlen zuordnet, mit einem bestimmten kodierten Zeichensatz. Ein kodierter Zeichensatz ist ein Satz von Zeichen, der jedem Zeichen einen eindeutigen Zahlenwert zuweist. Zeichenkodierung bezieht sich darauf, wie diese abstrakten Zeichen entsprechenden Bytes zugeordnet werden, damit sie ein Computer verarbeiten kann.

Kurz: Die Zeichenkodierung teilt dem Webbrowser mit, welche Zeichen er verwenden soll, wenn er die Bits in Zeichen umwandelt. Hier einige Gründe, warum man die Zeichenkodierung explizit angeben sollte:

Die Zeichenkodierung einer Webseite wird generell in der ersten Zeile angegeben.

Die von HTML unterstützte Zeichenkodierung ist durch den Unicode[2]-Zeichensatz definiert. Unicode unterstützt jedes Alphabet und ermöglicht es, Millionen von Zeichen zu repräsentieren, darunter auch Zeichen mit Akzenten. Jedem Zeichen ist dabei ein zwei Byte langer Code zugewiesen. Die weit verbreitete ASCII-Kodierung kommt hingegen mit einem Byte aus und wird zum Beispiel in den USA häufig verwendet.

Hier eine Auswahl der zur Verfügung stehenden Zeichenkodierungen:

Eine vollständige Aufzählung aller möglichen Zeichenkodierungen[3] ist online verfügbar. Die derzeit am häufigsten verwendete und zu empfehlende Kodierung ist UTF-8.

Wie wählt man die richtige Zeichenkodierung?

Das Hauptproblem bei der Wahl der Zeichenkodierung besteht darin, sich für eine zu entscheiden, die alle unterschiedlichen Sprachen und Anforderungen der jeweiligen Zielgruppe abdeckt. Die Zeichenkodierung ist entscheidend, wenn es um Anwendungen geht, in denen unterschiedliche Sprachen verwendet werden, die wiederum unterschiedliche Zeichenkodierungen erfordern.

Bei der Wahl einer Zeichenkodierung muss man wissen, welche Zeichen Verwendung finden sollen. Außerdem müssen die zur Arbeit mit den Dateien eingesetzten Zeichenkodierungen bekannt sein, die der Browser und alle anderen Anwendungen unterstützen. Die meisten Browser unterstützen die Standards UTF-8 (die bessere Wahl) sowie US-ASCII. Werden andere als diese beiden Standards verwendet, sollte man vorher entsprechende Tests durchführen.

Wenn ein Browser auf eine Webanwendung zugreift, unternimmt er folgende Schritte, um die Zeichenkodierung festzustellen:

Muss die Zeichenkodierung auch in Stylesheets angegeben werden?

Auch die Kodierung externer CSS-Stylesheets lässt sich festlegen. Dieser Schritt ist nicht notwendig, wenn der CSS-Code in die Seite eingebettet ist, da dann die Zeichenkodierung der gesamten Seite gilt. Die Zeichenkodierung einer CSS-Datei wird deklariert, indem man am Anfang der CSS-Datei eine entsprechende Zeile einfügt. Die folgende Syntax wird dabei verwendet:


@charset "utf-8";

Darüber hinaus kann auch das charset-Attribut des link-Elements zum Einsatz kommen.

Feedback

Geben Sie die Zeichenkodierung bei Ihren Anwendungen an? Verwenden Sie einen anderen Standard als UTF-8? Teilen Sie Ihre Tipps und Erfahrungen im Forum[4] mit.

URLs in diesem Artikel:
[1] = http://foldoc.org/
[2] = http://www.unicode.org/
[3] = http://www.iana.org/assignments/character-sets
[4] = http://cgi.zdnet.de/forum/index.php?c=2