Also ich nähere mich der Sache langsam. In der Browser-Console gibt es eine Warnung:
Code:
Die Codepage "iso-8859-1" von (HTTP-Header) überschreibt die Konflikte verursachende Codepage "utf-8" von (META-Tag).
Im Ergebnis der Suchmaschine heißt es, dass der HTTP-Header immer Vorzug vor dem Meta-Tag im html hat. Letzterer ist nur dafür da, dass das richtige charset gewählt wird, wenn im HTTP-Header keine Angabe erfolgt, wie dies sich z.B. beim Direktaufruf einer html-Datei ohne Web-Server ergibt (und damit dies in einer php generierten Seite doch recht überflüssig macht?). Der HTTP-Header gibt von meinem Server dies zurück:
Code:
HTTP/1.1 503 Service Unavailable
Date: Mon, 08 Dec 2014 15:18:47 GMT
Server: Apache/2.2.29 (Unix)
X-Powered-By: PHP/5.6.2
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=...
Set-Cookie: BE_USER_AUTH=...
Set-Cookie: FE_USER_AUTH=...
Vary: Accept-Encoding Content-Encoding: gzip
Content-Length: 13870
Connection: close Content-Type: text/html; charset=iso-8859-1
Da ist der Schuldige.
Durch weiteres Suchen, wie man das ändern kann, ergaben sich genauere Informationen bei http://www.w3.org/International/O-HTTP-charset.de.php.
Den Apache-Webserver zu überzeugen per .htaccess und "AddDefaultCharset utf-8" die Seiten mit UTF-8-Einstellung auszuliefern, ist mir irgendwie nicht gelungen.
Die Alternative ist es, dies direkt in php zu machen und damit servereinstellungsunabhängig zu sein. Ein Einfügen der Zeile
Code:
header('Content-type: text/html; charset=utf-8');
irgendwo im Code vor der Ausgabe sollte reichen. Voilà. Die Umlaute sind nun richtig.
Ich denke nun, dass diese Zeile in einigen php-Dateien vorhanden ist und in einigen nicht. Es klappt sicherlich bei manchen Servern mit den Umlauten, die default-mäßig keine charset-Vorgabe ausgeben. Hier macht der Meta-Tag im html-Template dann wohl doch Sinn (zumindest solange keine Einstellung für den HTTP-Header durch php erfolgt). Ansonsten muss die Zeile wohl sinnvollerweise in einer Reihe von php-Dateien ergänzt werden.
Lesezeichen