79 Stimmen

HTML: Probleme mit Umlauten und Zeichenkodierungen beseitigen

Tipp von Stefan Trost | Letztes Update am 27.12.2022 | Erstellt am 15.04.2012

Jeder Internetsurfer hat es sicher schon einmal gesehen: Da wo eigentlich die Umlaute im Text stehen sollten, erscheinen merkwürdige schwarze Kästchen oder nichtssagende Hieroglyphen! Nicht nur dass die Internetseite dadurch schlechter lesbar wird, es ist auch äußerst unprofessionell solche Seiten ins Netz zu stellen.

In diesem kleinen Tipp möchte ich euch zwei Möglichkeiten an die Hand geben, das Problem in den Griff zu bekommen.

Die alte Lösung

Früher hat man das Problem mit so genannten "Named Entities" gelöst. Named Entities sind nichts anderes als eine andere Schreibweise für alle Sonderzeichen, Umlaute und sonstige ungewöhnliche Zeichen. Eine Übersicht über die wichtigsten Named Entities im deutschen bietet die folgende Tabelle:

ZeichenHTML ZeichenHTML
ÄÄ ää
ÖÖ öö
ÜÜ üü
ßß ""
<&lt; >&gt;

Man schreibt also statt "ä" einfach "&auml;" in den HTML Code hinein und das Zeichen wird richtig angezeigt. Problem bei dieser alten Lösung: Wer hat schon Lust ständig diese umständlichen Abkürzungen in den Code zu schreiben - es sei denn man hat einen Editor, der diese Aufgabe übernimmt.

Die neue Lösung

Zum Glück gibt es heute bessere Möglichkeiten, dasselbe Ziel zu erreichen. Die Lösung heißt: UTF-8. UTF-8 ist eine Kodierung, die es ermöglicht, Codes für alle Zeichen bereitzustellen, egal aus welchem Zeichensatz sie kommen. Bei den alten Kodierungen wie Latin1 war es leider so, dass neben den normalen lateinischen Standardbuchstaben wie A bis Z nicht alle Sonderzeichen kodiert waren oder dies davon abhing, welchen Zeichensatz man benutzte. Dadurch fielen die Umlaute manchmal unter den Tisch.

Anders ist es mit UTF-8, wo alle Zeichen eine Entsprechung finden. Um UTF-8 zu benutzen, muss man einfach seine PHP oder HTML Datei als UTF-8 abspeichern. Das macht man, indem man einfach beim Abspeichern im Editor die Kodierung angibt oder ein Programm wie den TextKonverter benutzt, um mehrere Dateien automatisch aus einer beliebigen anderen Kodierung nach UTF-8 umzuwandeln.

Anschließend muss man noch dem Browser mitteilen, dass es sich bei der HTML Datei um UTF-8 handelt. Sonst weiß der Browser nicht, wie er die Daten interpretieren soll. Dies kann man durch den folgenden Meta-Tag im Head der HTML-Seite erreichen:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Alternativ kann man auch über PHP einen Header senden:

header('Content-Type: text/html; charset=utf-8');

Dieser PHP Code muss ausgeführt werden, bevor eine andere Information der Seite gesendet wurde. Dadurch dass sich diese Information im Header des Requests befindet, weiß der Browser so noch früher, wie die Seite zu interpretieren ist.

AntwortenPositivNegativ

Über den Autor

AvatarSoftware von Stefan Trost finden Sie auf sttmedia.de. Benötigen Sie eine individuelle Software nach Ihren eigenen Wünschen? Schreiben Sie uns: sttmedia.de/kontakt
Profil anzeigen

 

Ähnliche Themen

CSS-Stylesheets in HTML einbinden

Tutorial | 0 Kommentare

PHP: Eine E-Mail versenden

Tutorial | 0 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.