Hi dedlfix,
vielen Dank für deine Geduld.
(Ich schreibe gerne auch mal ein kleines Tutorial bzw. Info was alles zu beachten ist bei der Umstellung von latin1 bzw. ISo zu utf8)
In welcher Kodierung ist das PHP-Script gespeichert?
Sollte alles utf8 sein. Siehe weiter unten.
Das deutet darauf hin, dass das PHP-Script als ISO-8859-1 (oder Windows-1252) kodiert ist. Die Daten vom Browser kommen UTF-8-kodiert und werden vom PHP-Script nur durchgereicht. Als Schlussfolgerung will also auch das Dateisystem in ISO-8859-1/Windows-1252 angesprochen werden.
Folgende Umstellung habe ich gemacht:
in der my.ini des MySQL Servers:
default-character-set = utf8
character-set-server = utf8
collation-server= utf8_general_ci
init_connect = SET NAMES utf8
In der httpd.conf des Apache:
AddDefaultCharset utf-8
In allen PHP Seiten:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
in der php.ini:
default_charset = "UTF-8"
Damit müssten doch alle PHP Dateien und die Connection mit UTF8 laufen oder?
Das heißt also, dass du von und zum Dateisystem UTF-8-kodieren und -dekodieren musst, wenn du da ordentliche Umlaute sehen möchtest.
du meinst ich müsste dann bei allen Aktionen die das Dateisystem betreffen mit "utf8_encode" und "utf8_decode" arbeiten?
Nein, keinesfalls. Von und zum DBMS hast du ja kein Problem, da sprichst du ordentliches UTF-8. Dein Problemfeld ist momentan nur die Kommunikation mit dem Dateisystem.
Dann bin ich ja etwas beruhigt. :-)
vielen Dank und viele Grüße
hawk