Thomas Luethi: Probleme mit tschechisch nach iso-8859-2

Beitrag lesen

Hallo,

So wie's aussieht, ist apache daran schuld. Der mag das ganze irgendwie nicht. Unter IIS läuft's problemlos...

Aha. Ich vermute folgendes:

Der IIS schickt mit dem HTTP-Header _keine_ Charset-Angabe.
Das ist grundsaetzlich suboptimal/schlecht, aber in Deinem Fall "besser",
denn so gibt es keinen Konflikt mit den Charset-Angaben im META-Tag.

Der Apache schickt (vorbildlich) mit dem HTTP-Header eine Charset-Angabe.
Und das ist halt im Normalfall ISO-8859-1.
Dann ignorieren gute Browser die Charset-Angaben im META-Tag,
auch wenn diese widerspruechlich zu denen im HTTP-Header sind.
Das META-Tag heisst ja "http-equiv", ist also eher als Fallback gedacht,
falls die Seiten z.B. offline (CD) betrachtet werden.
Falls per HTTP eine Angabe erfolgt, ist diese staerker zu gewichten:
http://www.w3.org/TR/REC-html40/charset.html#h-5.2.2
<ZITAT src="http://www.w3.org/TR/REC-html40/charset.html#h-5.2.2">
To sum up, conforming user agents must observe the following priorities
when determining a document's character encoding (from highest priority
to lowest):
   1. An HTTP "charset" parameter in a "Content-Type" field.
   2. A META declaration with "http-equiv" set to "Content-Type" and a value set for "charset".
   3. The charset attribute set on an element that designates an external resource.
</ZITAT>

Wenn Dein Webserver am Internet haengt, kannst Du ja mal mit dem
HTTP Head Service des W3C http://cgi.w3.org/cgi-bin/headers
schauen, was so fuer HTTP-Header geschickt werden.

Ohne Gebastel (z.B. verschiedene Dateiendigungen) duerfte es beim
Apachen schwierig werden, nur einzelne Dateien in einem Verzeichnis
mit einem speziellen Charset auszuliefern.

Eine Loesung waere IMHO, ein Unterverzeichnis fuer alle tschechischen
Seiten zu machen und dort eine .htaccess reinzustellen mit folgendem Inhalt:
AddDefaultCharset ISO-8859-2
Siehe z.B.
http://httpd.apache.org/docs/mod/core.html#adddefaultcharset   bzw.
http://httpd.apache.org/docs-2.0/mod/core.html#adddefaultcharset

Hoffe, die Ehre des Indianers gerettet zu haben. ;-)

Gruesse,

Thomas