Zeichencodierung
Stephan
- webserver
0 at0 Thomas Luethi
Hallo Forum,
ich habe lokal einen LAMP Webserver (Suse9.0) zum testen eingerichtet.
Wenn ich meine PHP-Dateien auf diesen Server schiebe, und über
Web aufrufe, dann werden die Dateien zwar an den Browser
übermittelt, aber es geht die richtige Zeichencodierung verloren.
Auf meinem lokalen WAMP und auch im Internet vom Hoster aus
(ebenfalls Suse) werden die Zeichen richtig dargestellt.
Zwar kann ich beim Browser die Zeichencodierung wieder richtig
einstellen, aber bei einem neuen Request geht diese wieder verloren.
In jeder PHP-Seite habe ich die HTML-Anweisung
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
mit eingebaut.
Vielen Dank für Eure Hilfe
Stephan
Hallo.
ich habe lokal einen LAMP Webserver (Suse9.0) zum testen eingerichtet.
Konfiguriere das "A" entsprechend.
MfG, at
Hallo,
Bist Du ganz sicher, dass die Datei immer und ueberall ISO-8859-1 ist?
D.h. auf allen Rechnern, wo Du sie bearbeitest, und auch auf dem Webserver?
Wie laedst Du sie hoch? (ASCII oder binaer?)
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
Meta-Tags sind _ein_ Weg, um das Charset anzugeben.
Der HTTP-Head ist der andere Weg.
Wenn sich die beiden Angaben widersprechen (was nicht sein sollte),
"gewinnt" bei HTML-Seiten der HTTP-Head.
http://www.w3.org/TR/html401/charset.html#idx-character_encoding-6
Apache (in die httpd.conf oder .htaccess im Hauptverzeichnis):
AddDefaultCharset ISO-8859-1
sollte eigentlich reichen. Ansonsten gibt es auch AddCharset.
http://httpd.apache.org/docs/mod/core.html#adddefaultcharset
http://httpd.apache.org/docs/mod/mod_mime.html#addcharset
Auch mit PHP koenntest Du eine HTTP-Head-Zeile schicken:
header('Content-type: text/html; charset=ISO-8859-1');
Das ist aber IMHO ueberfluessig, ausser, wenn eine Datei mal
ausnahmsweise ein anderes Charset enthaelt.
http://www.php.net/manual/de/function.header.php
unter Beruecksichtigung von
http://www.dclp-faq.de/q/q-fehler-header.html
;-)
Gruesse,
Thomas