Bogus
C64 Generation
|
hi habe erstmals ein kleines problem mit der codierung einer website. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
im html header ist gesetzt. die website wird aber am demo (lokalen) server falsch angezeigt. muss den browser auf utf-8 stellen damit's richtig ist. wenn ich die site aber hochlade, dann passt alles. kann das sein? apache config/version hat damit ja nix zu tun, oder?
|
COLOSSUS
AdministratorGNUltra
|
HTTP spezifiziert im Content-type-Header des Protokolldatenstroms das Encoding der Resource. Das wiegt laut Spec immer schwerer als ein etwaiger Meta-Tag nach den Headern. Dann muss natuerlich die Resource, die du da auslieferst (dein HTML-Dokument z. B.), auch "wahrheitsgetreu" kodiert sein. Wenn du das auszuliefernde Dokument in UTF-8 speicherst (oder UTF-8 kodierten Output dynamisch generierst), und der Server im Header das Encoding als ISO-8859-1 angibt, dann sitzt du in der Tinte. Luegen zahlt sich naemlich nicht aus.
|
mat
AdministratorLegends never die
|
Es gibt mehrere Arten das Encoding zu setzen. Zuerst überprüft der Browser, ob das Encoding per Header mitgeliefert wird. Nur wenn das nicht der Fall ist, greift er auf das Meta-Tag zurück (oder auf seine Default-Einstellung). Wenn er dein Meta-Tag also nicht liest, dann liegt das in jedem Fall an der Webserver-Konfiguration. Bei Apache ist dafür hauptsächlich die Option AddDefaultCharset verantwortlich. Am besten du entfernst das Statement komplett und lässt die Webseiten über ihr Encoding entscheiden. Oder du setzt es nur per Virtual Host.
|