Christian Seiler: utf-8 versus iso-8859-1 Vorteile <=>Nachteile

Beitrag lesen

Hallo Tom,

Ich habe mir überlegt, dass man sich das umwandeln der Umlaute sparen könnte, wenn man die Seiten in UTF-8 erstellt.

Das kann man sich auch sparen, wenn man die Seiten in ISO-8859-1 oder einer anderen Kodierung kodiert, die die Umlaute enthält. Wenn ein Zeichen in der gewünschten Kodierung enthalten ist, muss man es nicht als Entity schreiben. Das hat mit UTF-8 erst einmal nicht viel zu tun.

UTF-8 hat den Vorteil, dass sich mit dieser Kodierung *alle* in HTML erlaubten Zeichen direkt darstellen lassen können (der Zeichensatz von HTML ist immer ISO 10646, was im Prinzip Unicode ist, und UTF-8 kann alle Unicode-Zeichen darstellen). UTF-8 hat den Nachteil, dass ganz alte Browser mit UTF-8 nicht klarkommen. Alle aktuellen tun dies jedoch (meines Wissens sogar Netscape 4).

Wenn Du wirklich nur Umlaute nicht als Entity schreiben willst, dann brauchst Du kein UTF-8 als Zeichenkodierung (ISO-8859-1 oder Windows-1252 reichen auch aus), kannst es aber auch gerne nehmen.

Schließe ich irgendwelche Nutzer aus?

Heutzutage wohl keine mehr. Du musst nur dafür sorgen, dass der Browser die Kodierung richtig mitbekommen, d.h. am besten möglichst alle Möglichkeiten ausschöpfen: a) explizit »Content-Type: text/html; charset=UTF-8« als Header senden, b) vor jeglichem Sonderzeichen im HTML-Dokument (also am besten direkt nach <head>) ein <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> einfügen und c) falls es sich um ein XHTML-Dokument handelt, das eine <?xml?>-Deklaration enthält, dort auch das enctype-Attribut auf UTF-8 setzen (ist zwar nicht unbedingt notwendig, da UTF-8 der Defaultwert ist, aber schaden tut es auch nicht).

Viele Grüße,
Christian