[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Apache2: Standard charset ist nicht UTF-8



Thomas Kuster schrieb am 22.07.2009 20:44:
Am Wednesday 22 July 2009 14.33:17 schrieb Manfred Schmitt:
Thomas Kuster schrieb:
Dann bleibt nun nur noch die Frage offen wie ich dem Apache beibringen
kann den Header auf UTF-8 zu stellen wenn nichts angegeben ist anstelle
ISO zu setzen.
Aeh, das Thema hatten wir schon oder nicht?
http://httpd.apache.org/docs/2.0/mod/core.html#adddefaultcharset

Das habe ich auch nachgelesen und das Verhalten ist auch so wie beschrieben. Nur möchte ich etwas anderes erreichen. Schreibe mal zwischen den Text von httpd.apache.org dazwischen: "Die Direktive gibt einen Standardwert für den Charset-Paramter des Medientyps (den Namen einer Zeichencodierung) an, der einer Antwort genau dann hinzugefügt wird, wenn der Content-Type der Antwort entweder text/plain oder text/html ist. Dies sollte jedes mittels META-Element im Datenteil der Antwort angegebene Charset überschreiben."

Setze ich das also, wird jedes Charset das mittels META-Element gesetzt wird überschrieben. Ich möchte aber, dass das META-Element beachtet wird. Apache aber wenn _keines_ gesetzt ist, im Header charset=UTF-8 setzt und nicht ISO….

Das Meta-Element (zwischen <head> und </head> im Html-Dokument) taugt nicht zur Angabe eines Charsets. Es dient bei schlechten Browsern dazu, die Seite mit dem richtigen Charset anzuzeigen, nachdem sie lokal gespeichert wurde. Bessere Browser ändern das Meta-Element in der Datei und nehmen den Charset des Http-Headers, wenn sie das Dokument speichern.

Mit anderen Worten, vergiss das Meta-Element und sorge dafür, dass die Http-Header richtig sind.


"Das genaue Verhalten hängt jedoch oft von der Client-Konfiguration des Benutzers ab."

Okay gut, kann auch dann mal in die Hose gehen. Priorität hat aber wohl meistens die Info im Header.

Wichtig ist hier, welchen header du meinst (s.o.).

(...)

AddDefaultCharset sollte nur verwendet werden, wenn von allen Textressourcen, für die es gilt, bekannt ist, dass sie in dieser Zeichkodierung vorliegen, oder wenn es zu unbequem ist, ihre Zeichenkodierung indivuell zu benennen."

Ich würde an deiner Stelle eine Direktive nehmen:
http://httpd.apache.org/docs/2.2/configuring.html und
http://httpd.apache.org/docs/2.2/mod/core.html#directory

Genau mir ist es zu unbequem;-). Ich habe mir angewöhnt alles in UTF-8 zu machen und wollte das nun auch bei den HTML-Seiten machen, raus kamen dann halt kein Umlaute, da ich vorher immer &uuml; und so Zeug verwendet habe und mich daher auch nie um das META-Element für die Kodierung gekümmert habe. Werde das nun aber schön brav immer notieren, macht ja auch Sinn.

Nee, macht keinen Sinn.

Wozu ueberhaupt der ganze Aufwand, hast Du eine Iso-Allergie? ;-)

Ja das auch:-).

:-)


viele Grüße,

Peter


Reply to: