Zeichenkodierung in HTML

Unter Zeichenkodierung versteht man die Zuordnung von sprachlichen Zeichen zu einer computer-internen Repräsentation. Sogenannte Code-Tabellen definieren, welches Zeichen intern durch welche Bitfolge interpretiert werden.

Allgemein unterstützt HTML das Unicode-System. Für die konkrete Zeichenkodierung lassen sich Zeichensätze angeben, die bestimmte Teile des Unicode-Zeichenvorrats abdecken, oder eine der sogenannten UTF-Transformationen von Unicode (z.B. UTF-8 oder UTF-16).

Unicode

Unicode ist ein System, in dem die Zeichen oder Elemente aller bekannten Schriftkulturen und Zeichensysteme festgehalten werden. Das Unicode-Konsortium, das 1991 gegründet wurde und aus Linguisten und anderen Fachleuten besteht, ermittelt die aufzunehmenden Zeichen. Die vergebenen Zeichencodes haben verbindlichen Charakter. Seit Version 2.0 ist das Unicode-System auch mit der internationalen Norm ISO/IEC 10646 synchronisiert.

Die Zeichennummern der von Unicode erfassten Zeichen wurden zuerst ausschließlich durch eine zwei Byte lange Zahl ausgedrückt. Auf diese Weise lassen sich bis zu 65536 verschiedene Zeichen in dem System unterbringen. Das Zwei-Byte-Schema, im Unicode-System als Basic Multilingual Plane (BMP) bezeichnet, reichte jedoch nicht aus, um alle Zeichen unterzubringen. Deshalb wurde es mittlerweile durch ein Vier-Byte-Schema ersetzt, wodurch sich 4.294.967.296 Zeichen adressieren lassen.

Der Zeichenvorrat von Unicode wird in den sogenannten Unicode-Charts dokumentiert. Die Unicode-Charts sind im Web öffentlich einsehbar. Details siehe Referenz-Abschnitt Unicode-Charts.

Zeichenkodierung auswählen und in HTML angeben

Wenn Sie HTML in einem Texteditor notieren, verwenden Sie möglichst einen Editor, in dem Sie beim Speichern die Zeichenkodierung explizit auswählen können, oder von dem Sie wissen, in welcher Zeichenkodierung er seine Daten abspeichert.

zeichenkodierung-im-editor.gif
Beispiel eines Speichern-Dialogs in einem Texteditor mit Auswahlmöglichkeit der Zeichenkodierung

In Ihren HTML-Dokumenten notieren Sie dann eine Angabe zu der verwendeten Zeichenkodierung (in neueren HTML-Versionen ist eine solche Angabe sogar Pflicht). Geben Sie in HTML diejenige Zeichenkodierung an, die Ihr Editor untersützt. Das erreichen Sie durch eine Meta-Angabe in den Kopfdaten eines HTML-Dokuments. Beispiel:

<meta charset="utf-8">

Auf Meta-Daten und den genauen Ort, wo Sie eine Angabe wie diese notieren, werden wir später noch ausführlicher eingehen.

Die mittlerweile am häufigsten verwendete Zeichenkodierung ist UTF-8. Diese Zeichenkodierung verwendet die Code-Tabelle des Unicode-Systems, speichert jedoch nicht jedes Zeichen mit vier Byte Breite. Stattdessen wird bei höherwertigen Zeichen im ersten Byte gespeichert, aus wie vielen weiteren Bytes das Zeichen besteht.

Benannte Zeichen (named entities) für HTML-eigene Zeichen

Wenn in Ihrem HTML-Text Zeichen vorkommen, die zur Syntax von HTML gehören, sollten Sie diese Zeichen maskieren. Das gilt ganz besonders für die öffnende spitze Klammer (<).

  • Ersetzen Sie das Zeichen < durch die Zeichenfolge &lt; (steht für „lower than“)
  • Ersetzen Sie das Zeichen > durch die Zeichenfolge &gt; (steht für „greater than“)
  • Ersetzen Sie das Zeichen & durch die Zeichenfolge &amp; (steht für „Ampersand“)

Außerdem ist es ratsam, an bestimmten Stellen das englische Quotation-Mark-Zeichen (das ")) durch die Zeichenfolge &quot; (steht für „Quote“) zu ersetzen. Dies ist vor allem in Attributwerten sinnvoll.

Ein Beispiel:

Ein HTML-Dokument beginnt mit &lt;html&gt;
GmbH &amp; Co. KG
<strong title="bekanntes Zitat: &quot;Ich weiß, dass ich nichts weiß!&quot;">
der griechische Philosoph Sokrates</strong>

 


Korrekturen, Hinweise und Ergänzungen
Bitte scheut euch nicht und meldet, was auf dieser Seite sachlich falsch oder irreführend ist, was ergänzt werden sollte, was fehlt usw. Dazu bitte oben aus dem Menü Seite den Eintrag Diskutieren wählen. Es ist keine Anmeldung erforderlich, um Anmerkungen zu posten. Unpassende Postings, Spam usw. werden allerdings kommentarlos entfernt.

Sofern nicht anders angegeben, steht der Inhalt dieser Seite unter Lizenz Creative Commons Attribution-ShareAlike 3.0 License