UTF-8 und WWW-Eingabeformulare

Stefan Aumann aumann at hrz.uni-marburg.de
Fr Jul 4 13:34:24 CEST 2003


Liebe Listenmitglieder,

bei der Vorbereitung einer Allegro-Datenbank für die Eingabe von Daten
in Fremdalphabeten (Arabisch, Griechisch) über ein WWW-Formular
habe ich die Erfahrung gemacht, dass es nicht ausreichend ist, im
<head> der HTML-Datei den zu verwendenden Zeichensatz in der folgenden
Form zu spezifizieren:

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Vielmehr müssen - zumindest bei Verwendung der Server-Software Apache -
zusätzliche Vorkehrungen getroffen werden, um die Versendung des Apache-
eigenen Default-Zeichensatzes (iso-8859-1) im HTTP-Header zu unterbin-
den. Realisiert werden kann dies z.B. über eine .htaccess-Datei im
Verzeichnis, in dem auch die Formulardateien liegen. In meinem Fall
habe ich die folgende Direktive benutzt:

  AddDefaultCharset utf-8 .html

Näheres zu AddDefaultCharset bzw. AddCharset finden Sie in der
Apache-Dokumentation:

  http://httpd.apache.org/docs-2.0/mod/core.html#adddefaultcharset
  http://httpd.apache.org/docs/mod/mod_mime.html#addcharset

In Braunschweig ist dieses Problem offensichtlich nicht aufgetreten,
da dort der Xitami-Server verwendet wird, der bei der Content-Type
Angabe im HTTP-Header auf die Zeichensatz-Spezifikation verzichtet:

  HTTP/1.x 200 Ok
  Content-Length: 4557
  Content-Type: text/html
  X-Powered-By: PHP/4.0.6
  Server: Xitami

Die betreffende Angabe im Apache lautet dahingegen per Default:

  Content-Type: text/html; charset=iso-8859-1

Durch das oben beschriebene Verfahren erreicht man, dass der HTTP-
Header wie gewünscht modifiziert wird:

  Content-Type: text/html; charset=utf-8

Aus PHP-Skripten heraus nutze ich übrigens die header-Funktion:

  header("Content-Type: text/html; charset=utf-8");

Viele Grüße

Stefan Aumann

-- 
Stefan Aumann M.A.  @Hochschulrechenzentrum der Philipps-Univ. Marburg
Hans Meerwein Str. 35032 Marburg | fon +49 (0)6421 28-23561 fax -26994





Mehr Informationen über die Mailingliste Allegro