Frage: Wie kann ich die Information über die Zeichencodierung prüfen, die im HTTP-Header eines Webdokuments gesendet wird?
Es ist wichtig, die Zeichencodierung (charset) eines übers Web ausgelieferten Dokuments anzugeben. Andernfalls kann der Empfänger das Dokument nicht richtig interpretierten. Ein Webbrowser würde bspw. irgendwelche Zeichen anzeigen anstatt lesbaren Text. EIne Möglichkeit, die Zeichencodierung eines Webdokuments anzugeben, ist es, diese Information in den charset
-Parameter des Content-Type
-Headers zu tun.
Hier muss insbesondere darauf hingewiesen werden, dass die im HTTP-Header angegebene Zeichencodierung bei HTML- oder CSS-Dokumenten alle Angaben im Dokument selbst überschreibt.
Der vom W3C entwickelte Internationalization-Checker prüft Webseiten auf verschiedene für die Internationalisierung problematische Dinge. Er enthält auch einen Abschnitt, der die mit Internationalisierung verbundenen Informationen über eine Seite zusammenfasst, wie bspw. Zeichencodierung, Sprachangabe usw. Dieser Abschnitt zeigt, ob eine Zeichencodierungs-Angabe im HTTP-Header vorliegt, und wenn ja, welche.
Besonders nützlich ist am i18n-Checker, dass er auch andere, im Dokument vorliegende Zeichencodierungs-Angaben anzeigt und warnt, wenn diese verschieden sind.
Es gibt verschiedene Dienste, die alle HTTP-Header und den Quelltext (HTML/XHTML) des vom Server ausgelieferten Dokuments anzeigen, nachdem man dessen Adresse angegeben hat:
Das W3C steht in keiner Verbindung zu diesen Diensten.
Sehen Sie in den HTTP-Headern nach dem Content-Type
-Header und insbesondere nach dem charset
-Parameter, z.B.
Content-Type: text/html; charset=utf-8
Es kann auch sein, dass kein charset
-Parameter vorhanden ist. Das ist in Ordnung, wenn das Dokument selbst seine Zeichencodierung angibt.
Um das Markup zu überprüfen, muss der Markup-Validator sicherstellen, dass er das zu prüfende Dokument korrekt decodiert. Er zeigt eine Fehlermeldung, wenn er keine Information über die Zeichencodierung vorfindet, wenn er widersprüchliche Informationen vorfindet oder wenn er das Dokument nicht mit der angegebenen Zeichencodierung decodieren kann.
Um die Zeichencodierung zu erfahren, die der Validator gefunden hat, kann man das erweiterte Interface benutzen.
In diesem Interface kann man auch die Option „show source“ (Quelltext anzeigen) wählen und dann visuell prüfen, ob
der Quelltext korrekt interpretiert wurde. Das dient zur Prüfung, ob auch wirklich die richtige Zeichencodierung verwendet wurde. Es ist nicht immer möglich, mechanisch zu prüfen,
ob bspw. ein Dokument, das angibt, es sei iso-8859-1
-codiert, in Wahrheit nicht iso-8859-2
oder eine andere Codierung verwendet.
telnet
oder ein anderes Kommandozeilen-Tool verwendenHierzu benötigt man etwas mehr Erfahrung, das ist aber leichter zu automatisieren. Ein anderes Kommandozeilen-Tool ist wget
(mit Option -S
oder -s
).
Manche Server führen eine Umcodierung durch und senden Webdokumente an verschiedene Clients in verschiedenen Zeichencodierungen. Das geschieht bspw. auf einigen Servern in Russland. Das erfordert besondere Achtsamkeit, denn ein Browser, der bspw. auf einem Mac oder einem Windows-System läuft, könnte eine andere Zeichencodierung anzeigen als ein webbasierter Dienst oder der W3C-Markup-Validator (die meist auf UNIX-Systemen basieren).
HTML und CSS verfassen
Server-Konfiguration