PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache, XHTML und Charset



FunnyDingo
16.02.06, 23:34
Hallo zusammen,

ich habe da mal eine Frage zu Charset. Ich kann ja in (X)HTML-Dateien einen Charset angeben:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

Ich war immer der Meinung, der Webserver ließt diese Daten vor dem Übertragen aus und passt seinen Header an? Statt dessen musste ich feststellen, das zwar die Seiten sagen dass sie utf-8 sind (was sie auch sind) aber der Apache IMMER einen Charset ISO-8850-1 zum Client überträgt. Oder habe ich da einfach nur eine Konfiguration übersehen?

Gruß,
Funny

Roger Wilco
17.02.06, 01:03
Ich war immer der Meinung, der Webserver ließt diese Daten vor dem Übertragen aus und passt seinen Header an?
Nein macht er nicht. Die Dateiendung wird mit der /etc/mime.types (oder eben der Datei, die du mit TypesConfig (http://httpd.apache.org/docs/2.0/mod/mod_mime.html#typesconfig) eingebunden hast) einem MIME-Typ zugeordnet, der dann als Content-Type gesendet wird.

munkmill
17.02.06, 07:56
AFAIK kannst Du zumindest in PHP mit header() den definierten charset überschreiben.

FunnyDingo
17.02.06, 11:19
Okay, dann habe ich da was falsch aufgewasst. Ich kann natürlich hergehen und via MimeTypes definieren, dass .xhtml immer als utf-8 rausgeht. Hat natürlich den Nachteil, dass ALLE als utf-8 rausgehen.

Aber wenn der Server immer nen Charset auf Dateiendungsebene ermittelt und sendet, was bringt mit dann der Mata-Tag? Der wird ja gewissermaßen ignorniert (zumindest stellen Firefox und Mozilla ISO-8859-1 als Charset ein, obwohl im Meta-Tag utf-8 angegeben ist).

pucki
17.02.06, 12:39
hi,

schau mal in rfc2616 nach,

so weit ich mich erinnere kann ein client mit dem server aushandeln welchen charset er erhält. insofern macht es wenig sinn, dass du dem server vorschreibst, wie du das dokument versendest. wenn der client dies nun anders anfordert, kann der server ja nichts liefern.

imho ist es sache des clients die zeichenkodierung die du in deinem file verwendest richtig zu interpretieren.

client: ich nehme alles was kommt, server schickt passendes dokument
client. nimmt das file und interpretiert die darin enthaltenen zeichen gemäß dem dort definierten standard ....

gruesse
reinhard