Sie befinden sich hier:
» 
» 
05.09.2010

Kodierung von Webseiten in UTF-8 Format

Kategorie(n): HTML und CSS Tipps

UTF-8 ist die am weitesten verbreitete Kodierung im Unicode-Format. Ein Zeichen wird in einer variablen Bytekette von max. vier Byte kodiert. Hierdurch ist es möglich, universell jedes Zeichen, z.B. auch kyrillische oder chinesiche Schriftzeichen korrekt darzustellen.

Damit die Zeichen korrekt dargestellt werden können, ist es natürlich ebenso wichtig, dass der entsprechende Client über den passenden Zeichensatz verfügt oder dass man ihn einbettet. Voraussetzung ist es aber, dass die Webseite korrekt in UTF-8 kodiert ist.

Was ist die Grundvoraussetzung, um korrekt in UTF-8 Format zu kodieren?

  • Angabe des korrekten Meta-Tags in der Webseite:
    <meta http-equiv="content-type" content="text/html; charset=utf-8" /> oder
    <meta charset="UTF-8" /> für HTML5 Webseiten
  • Das Speichern der Webseite selbst muss ebenfalls im UTF-8 Format erfolgen.
    Der kostenlose Editor Notepad++ bietet z.B. die Möglichkeit, Files in UTF-8 zu speichern. Wählen Sie die Variante UTF-8 ohne BOM (Byte Order Mark)
  • Wählen Sie unbedingt UTF-8 ohne BOM als Zeichensatz. Wenn Sie nur UTF-8 wählen, steht zu Beginn der Webseite üblicherweise die „Byte Order Mark“. Sie ist nicht in jedem Editor sofort erkennbar. Dies ist aber häufig die Ursache für Probleme, z.B. bei einer automatischen Umleitung auf eine mobile Version der Website. In diesem Fall würde der Browser eine Fehlermeldung senden: „Header already sent“. Als Header wird hierbei die BOM erkannt.

UTF-8 Kodierung bei Webanwendungen mit Datenbankanbindung

Diese Punkte müssen Sie zusätzlich bei einer Datenbankanbindung, z.B. über eine PHP-Applikation, beachten:

  • Setzen des korrekten Zeichensatz in der php.ini (default_charset=utf-8)
    oder mit ini_set("default_charset","utf-8") im jeweiligen Script.
  • In der Datenbank muss ebenfalls UTF-8 als Zeichensatz eingestellt sein.
  • Falls Sie über diverse Datenbank-Clients auf die Datenbank zugreifen, z.B. Oracle-Instantclient, müssen auch hier die entspr. Variablen auf UTF-8 gesetzt werden:
    putenv('NLS_LANG=American_America.UTF8');

Fazit

  • Wenn eine Webseite korrekt in UTF-8 Kodierung angezeigt werden soll, so muss die gesamte Kette, d.h. von der Webseite bis zur Datenbank, die UTF-8 Kodierung besitzen.

Autor: Mein Name ist Harry Kämpf und ich bin seit vielen Jahren als Projekt Manager im Webumfeld tätig. Auf diesen Erfahrungen basieren die Tipps zur Webseitengestaltung. Ich schreibe gern über Webthemen, nehme aktuelle Trends auf und gebe bei Bedarf kompetente Beratung. Mehr Infos können Sie auf ueber-mich.html nachlesen.

2