Man gibt PHP ja gern an allem Möglichen die Schuld. Ich tue das auch gern und manchmal wird man dann mit endloser Fehlersuche bestraft, die dann am Ende mit dem Schlag vor dem Kopf endet. Wie auch in diesem Fall:
Nach einem Upgrade Apache 2.0 zu Apache 2.2 wurden auf einigen Websites keine Umlaute mehr dargestellt, wenn sie nicht korrekt kodiert waren. Das war mir allerdings erst so spät aufgefallen, daß ich den Apache nicht in den “Kreis der Verdächtigen” aufgenommen hatte. In den News und Foren fand ich einige “Lösungvorschläge”, wie man die php.ini zu bearbeiten hat oder das man der MySQL nach dem Connect einen “SET charset” schicken soll usw. … funktionierte aber nichts davon.
Die Lösung ist dann auch ziemlich simpel! Zur Strafe sozusagen
… in der Konfiguration des Apache (bei einer Debian /etc/apache2/apache2.conf) an Zeile 446 steht:
#AddDefaultCharset ISO-8859-1
Kommentar entfernen und neustarten, dann hat der Spuk ein Ende.
Have fun!