Hi,
Gibt es einen Grund eine (X)HTML-Datei nicht in „utf-8“ zu codieren?
Kaum einen heute noch wirklich relevanten.
(Ja, PHP kann immer noch nicht so richtig mit UTF-8 umgehen. Aber die Vorteile ueberwiegen diesen Nachteil in den allermeisten Faellen.)
Kann mir zum Bspl. der Webserver einen „Strich durch mein Charset machen“ indem er im HTTP-Header eine andere Angabe sendet?
Ja - aber das kann er bei jeder anderen Kodierung auch.
Wenn ja, wie kann ich das verhindern?
In dem du ihn dazu bringst, die richtige Angabe zu senden ...?
Kann es sein, dass ein UserAgent kein „utf-8“ versteht?
Kein heutzutage noch relevanter, moechte ich meinen.
Wie ist das mit den CSS-Dateien? Hier findet man die Angabe
@charset "irgendein-charset";
nur in sehr selten Fällen...
Das duerfte daran liegen, dass man im CSS auch eher selten "Sonderzeichen" verwendet, die in ASCII nicht vorkommen.
Und kann es sein, dass ausgerechnet bei diesem Beispiel http://aktuell.de.selfhtml.org/artikel/javascript/utf8b64/utf8charsettest.html die charset-Angabe nicht mit der tatsächlichen Codierung der Datei übereinstimmt?
Ja - der Server liefert die Ressource mit dem Content-Type-Header "text/html; charset=ISO-8859-1" aus.
Und da dieser Vorrang vor einer Angabe im Meta-Element hat, zeigt ein Browser dann Zeichensalat an.
MfG ChrisB