Gunnar Bittersmann: Zeichenkodierung

Beitrag lesen

Hello out there!

In allen HTML Dateien habe ich bisher immer <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> angegeben, was mir richtig erscheint, da ich in deutscher Sprache schreibe und somit auch Umlaute und das ß vorkommen.

Nö, da solltest du nicht angeben, was dir richtig erscheint, sondern die Codierung angeben, mit der das Dokument tatsächlich gespeichert wurde.

Außerdem ersetze ich Umlaute, Sonderzeichen & Co durch die entsprechenden HTML-Entities. Doch daran zweifle ich jetzt ein wenig: Eigentlich dürfte ich doch alle in ISO 8859-1 definierten Zeichen auch unmaskiert verwenden, oder?

Ja. Das macht den Quelltext lesbarer und ist die favorisierte Vorgehensweise: “It is almost always preferable to use an encoding that allows you to represent the characters in their normal form, rather than using character entities or NCRs.” [QA-ESCAPES]

Warum aber meldet sich der HTML Validator immer dann zu Wort, wenn ich einen Umlaut mal nicht durch das entsprechende HTML-Entity ersetze?

Welche Codierung gibt dein Webserver im HTTP-Header an? (Firefox: rechte Maustaste, Seiteninformationen anzeigen) Diese Angabe hat Vorrang vor der HTTP-EQUIV-Angabe.

Und nach so vielen Fragen noch eine finale: Sollte ich besser UTF-8 als Zeichenkodierung angeben und als "was" sollte ich das Dokument dann speichern?

Als UTF-8 (könnte auch fälschlicherweise als "Unicode" bezeichnet sein), vorzugsweise ohne BOM. Und natürlich muss der Server dann auch diese Codierung angeben.

Dann kannst du nicht nur deutsche, sondern alle Schriftzeichen im Quelltext verwenden (entsprechende Fähigkeiten des Editors vorausgesetzt), auch richtige Gedankenstriche '–' und Anführungszeichen '„', '“'.

See ya up the road,
Gunnar

--
„Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)