Teufelchen: von iso-8859-1 zu utf-8 wechseln

Beitrag lesen

ich will von iso-8859-1 zu utf-8 wechsel (webprojekt)...

was muss ich da jetzt konkret tun? mysql läuft bereits mit utf-8 und latin-1 für die tabellen.

Wichtig ist, dass für die Verbindung die richtige Kodierung gewählt wird. Nachzulesen ist das im Kapitel 10.4 der MySQL-Anleitung. Die Tabelle kann utf-8 sein, es hilft nichts, wenn für die Datenbankverbindung iso-8859-1 benutzt wird.

muss ich jetzt noch irgendwas umwandeln? die .php-dateien nur im utf-8-format abspeichern oder wie? alle gängigen sonderzeichen sind da aber eh schon maskiert.

Wenn du nirgends unmaskierte Zeichen jenseits US-ASCII hast, kannst du dir das Umwandeln der Quelltexte sparen. Andersrum kannst du dir aber auch die Maskierungen sparen, wenn du dem Browser nur die richtige Kodierung mitteilst.

Beachten solltest du weiterhin, dass die PHP-Funktion htmlentities() standardmäßig annimmt, Zeichenketten wären iso-8859-1-kodiert. Verwendest du diese Funktion, musst du entweder dafür Sorge tragen, dass sie im dritten Parameter den Hinweis auf utf-8 übergeben bekommt, oder du tauscht die Funktion gegen htmlspecialchars() aus.
htmlentities() hat keinen sonderlichen Vorteil gegenüber htmlspecialchars(), solange dem Browser die Kodierung mitgeteilt wird.