Hauptmenü

Untermenü

Zeichenkodierung - HTML

1. Die Abschnitte

2. Der erste Versuch

Öffnet nun mal zusätzlich die Datei html.htm im Ordner html. Dann markiert ihr den kompletten Inhalt der inhalt.txt und kopiert den über die Zwischenablage in die HTML-Datei. Für diejenigen, die immer noch nicht wissen, wie so was geht, gibt es einen Tipp. Text markieren, Strg + C drücken, in die HTML-Datei wechseln, Cursor an die die Stelle nach dem öffnenden <body>-Element positionieren und dann mit Strg + v den Inhalt einfügen.

3. Das Problem

Leider seht ihr mehr oder weniger nur Fragezeichen. Denn die stehen für alle Zeichen, die nicht erkannt werden. Und das hat einen ganz einfachen Grund. Denn die Kodierung unserer HTML-Datei ist ANSI. Das seht ihr wunderbar, wenn ihr im Notepad++ auf "Kodierung" klickt.

ANSI

4. Die Lösung

Bevor ihr UTF-8-basierte Zeichen in ein HTML-Dokument einfügen möchtet, so muss dieses ebenfalls über dieselbe Kodierung verfügen. Löscht also wieder alle Fragezeichen, ändert die Kodierung zu "UTF-8 ohne BOM". Gut, das BOM könnt ihr hier weglassen, aber unter PHP kann es da zu gewaltigen Problemen kommen. Also gewöhnt euch das schon mal an.

Wenn ihr jetzt den Text noch mal in das HTML-Dokument einfügt, werdet ihr sehen, dass alle Zeichen korrekt im Editor dargestellt werden. Allerdings solltet ihr die einzelnen Sprachen durch einen Absatz trennen, damit die später im Browser ein wenig übersichtlicher dargestellt wird.

5. Aber

Wenn ihr euch nun die html.htm im Browser anseht, so sieht das nicht sehr prickelnd aus sondern irgendwie so.

До 6 Ð´ÐµÐºÐ°Ð±Ñ€Ñ Ð² палаточном городке в центре Киева, по Ñловам организат оров акции, "будут находитьÑÑ Ð½ÐµÑкÐ

Und woran liegt das jetzt?

Schaut euch mal genau den HTML-Quellcode an. Steht da irgendwas von einem Zeichensatz? Nö! Also greift der Browser nun auf seine eigene Standardkodierung zurück. Und da steht eigentlich nie UTF-8. Aber selbst wenn ihr das entsprechend ändert, so hilft das oft nicht sehr viel. Man kann zwar den Apache anweisen, Inhalte immer mit einem Hinweis auf die Zeichenkodierung auszuliefern, aber sicher ist das auch nicht. Zumal ihr im Normalfall keinen Zugriff darauf habt.

Darum

... sollte man in HTML-Dokumenten immer den Zeichensatz mit angeben. Dann ist man auf der sicheren Seite. Fügt also im <head>-Bereich das hier ein


<meta http-equiv="content-type" content="text/html; charset=UTF-8">

und oh Wunder, auf einmal sieht alles pikobello aus.

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt