Das Internet kann von jedem Ort in der Welt benutzt werden. Wenn dabei die Inhalte aus einer Datenbank kommen, kann schnell mal aus „Mit freundlichen Grüßen“ die kryptische Formulierung „Mit freundlichen GrÃ?Ã?en“ werden. Der Grund liegt im verwendeten Zeichensatz.
Ein Zeichensatz legt fest, welches Zeichen durch einen bestimmten binären Code angezeigt wird. Mit den 8-Bit-Codes können maximal 256 Zeichen unterschieden werden. Ein anderer Zeichensatz führt dazu, dass die gleichen 8 Bits dann ein anderes Zeichen darstellen, das können auch nicht darstellbare Steuerzeichen sein.
Wenn die Datenbank Ihrer Internetanwendung zum Beispiel für den in Deutschland häufig verwendeten westeuropäischen Zeichensatz ISO 8859-1 eingerichtet ist (auch als Latin-1 bezeichnet) und Sie Ihre Lösung auch in Griechisch anbieten möchten, haben Sie ein Problem, denn der ISO 8859-1-Zeichensatz unterstützt das griechische Alphabet nicht.
Hier hilft dann der der Unicode-Zeichensatz UTF-8, mit dem man seine Internetseiten, Programme und Daten bei neuen Anwendungen immer versehen sollte, denn damit kann man alle Sprachzeichen abbilden. Das ist möglich, weil bei UTF-8 jedem Unicode-Zeichen eine ganze Bytekette von variabler Länge bis maximal vier Bytes (also 32 Bit)zugeordnet werden kann.
Bei Internetseiten wird der Unicode-Zeichensatz mit folgendem Meta-Tag festgelegt:
<meta http-equiv=“Content-Type“ content=“text/html; charset=UTF-8″ >
Es kann aber passieren, dass ein Server trotz dieses Tags in den HTML-Seiten weiterhin zum Beispiel den westeuropäischen Zeichensatz ISO-8859-1 ausliefert. Bei einem Apache Webserver ist das meist durch einen Eintrag wie
AddType „text/html; charset=ISO-8859-1“ html
in der Konfigurationsdatei http.conf des Internetservers verursacht. Wenn Sie diesen Eintrag in
AddType „text/html; charset=UTF-8“ html
abändern und Apache neu starten, werden die Seiten mit dem Unicode-Zeichensatz UTF-8 ausgeliefert.