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:
Zeichen | HTML | Zeichen | HTML | |
Ä | Ä | ä | ä | |
Ö | Ö | ö | ö | |
Ü | Ü | ü | ü | |
ß | ß | " | " | |
< | < | > | > |
Man schreibt also statt "ä" einfach "ä" 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.
Über den Autor
Software 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
Umlaute werden nach PHP-Umstellung nicht mehr richtig angezeigt
Frage | 1 Antwort
Mehrere Texte gleichzeitig ersetzen
Tutorial | 0 Kommentare
CSS-Stylesheets in HTML einbinden
Tutorial | 0 Kommentare
Vater Unser in 20 anderen Sprachen
Info | 2 Kommentare
HTML5 Canvas: Einsteiger Tutorial Teil 4 - Text auf Canvas schreiben
Tutorial | 0 Kommentare
PHP: Eine E-Mail versenden
Tutorial | 0 Kommentare
HTML: Unterschied zwischen ID und CLASS
Info | 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.