Ich habe ein seltsames Problem mit der Apache-Konfiguration (Apache2, Ubuntu). Es könnte natürlich auch sein, dass ich etwas grundlegend falsch verstanden habe.
Meine eigenen Dateien sind allesamt UTF-8-codiert, ich bekomme aber z.B. die Zeitung per Cronjob auf den Webserver geschoben - in ISO-8859-1, außerdem habe ich auch Sachen wie z.B. selfPHP darauf liegen, ebenfalls ISO-8859-1. Das ist auch soweit alles in den meta-tags deklariert, sollte meinem Verständnis nach damit vom Browser interpretiert werden. Aber es ist völlig egal, mit welchem Browser ich die ISO-8859-1 Seiten öffne, es wird immer UTF-8 "angenommen". Stelle ich manuell auf ISO-8859-1, wird alles korrekt angezeigt.
Ich habe das Gefühl, dass mein Apache dem Browser irgendetwas sagt, was das korrekte interpretieren der meta-tags unterbindet, Versuche mit wget bestätigen diese Vermutung:
- Code: Select all
christian@tekmobile - 10:28:17
~/Webserver> wget --save-headers localhost/selfPHP
--10:28:30-- http://localhost/testptb
=> `testptb.1'
Resolving localhost... 127.0.0.1
Connecting to localhost|127.0.0.1|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://localhost/testptb/ [following]
--10:28:30-- http://localhost/testptb/
=> `index.html'
Reusing existing connection to localhost:80.
HTTP request sent, awaiting response... 200 OK
Length: 1,067 (1.0K) [text/html]
100%[====================================>] 1,067 --.--K/s
10:28:30 (42.40 MB/s) - `index.html' saved [1067/1067]
So, und hier der Anfang der heruntergeladenen Datei:
- Code: Select all
christian@tekmobile - 10:34:09
~/Webserver> cat index.html|head -32
HTTP/1.1 200 OK
Date: Tue, 19 Dec 2006 09:33:59 GMT
Server: Apache/2.0.55 (Ubuntu) PHP/5.1.6
Last-Modified: Tue, 28 Feb 2006 08:05:02 GMT
ETag: "163a1-58a7-48c6e780"
Accept-Ranges: bytes
Content-Length: 22695
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.o../html4/transitional.dtd">
<html>
<head>
<title>SELFPHP: Version 3.0 vom 01.11.2005, Autor: Damir Enseleit</title>
<link rel="stylesheet" type="text/css" href="src/selfphp1.css">
[...]
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
Oben sind die Headers, die wget ausliest, unten die Seite selbst.
wget erkennt UTF-8, obwohl die tags ISO-8859-1 sagen.
Folgende Zeilen sind in meiner Konfigurationsdatei vorhanden:
- Code: Select all
AddCharset ISO-8859-1 .iso8859-1 .latin1
AddCharset iso-8859-1 .iso8859-1 .latin1
AddCharset UTF-8 .utf8
AddCharset utf-8 .utf8
Ein DefaultCharset-Eintrag ist nicht vorhanden.
Was in der Umgebungsvariable $LANG steht, scheint ebenfalls nicht relevant zu sein.
Es ist mir einfach ein Rätsel, und einen Eintrag der das bewirken könnte habe ich entweder nicht in der Konfigurationsdatei oder übersehen.
Vielen Dank schonmal für jeglichen Tipp!