Moin!
Auf einer Seite hatte ich als charset=iso-8859-1 angegeben. Es hat nicht funktioniert. Mit utf-8 funktioniert es.
Logisch, diese Angabe muß übereinstimmen mit der tatsächlich gewählten Zeichencodierung im Dokument.
Wobei sich für mich folgende Fragen stellen:
- Hat die Angabe im HTML-header Einfluss darauf wie die Zeichen im Quellcode dargestellt werden?
Es gibt zwei Stellen, an denen die Zeichencodierung stehen kann:
1. Priorität hat der HTTP-Header.
2. Wenn dieser keine Angaben macht, gilt das HTML-Meta-Tag <meta http-equiv="content-type" content="text/html; charset=...">
Server können den HTTP-Header entweder fest eingestellt oder auch basierend auf der im HTML enthaltenen Angabe im HTTP-Header setzen. Deshalb ist es niemals verkehrt, in HTML korrekte Angaben zu machen (die wirken außerdem auch dann noch, wenn kein HTTP benutzt wird, also z.B. bei Seiten auf Festplatte).
- Im Quellcode (charset=utf8) steht jetzt ein Ü. Müsste das nicht als Ü im Quellcode stehen, damit alles korrekt ist?
Nein, das Ü ist korrekt. Du hast ja schließlich keine Entity in den Text geschrieben. Entities sind nicht zwingend notwendig, man kommt prima ohne sie aus.
- gibt es einen Weg, damit die Zeichen bei charset=iso-8859-1 korrekt angegeben werden? Sind hier die php funktionen utf8_decode bzw. utf8_encode richtig?
Die Frage ist doch, warum du ISO-8859-1 willst? Ich empfehle immer dringend, eine durchgehend einheitliche Zeichencodierung zu verwenden. Das gibt am wenigsten interne Probleme.
- Sven Rautenberg
My sssignature, my preciousssss!