dedlfix: Mal wieder Umlautprobleme

Beitrag lesen

Tach!

Weil mir das inzwischen mächtigst auf den Senkel geht, habe ich anschließend beschlossen, alles auf utf-8 umzustellen.

Es reicht nicht, einfach nur alles korrekt zu deklarieren. Du musst auch selbst dafür sorgen, dass alles richtig kodiert ist. Zum Beispiel korrigieren sich nicht einfach kaputte Daten, nur weil du nun eine andere Kodierung festlegst.

Es kann nur dann alles richtig werden, wenn du die Einstellungen korrekt vorgenommen hast und dann mit einer leeren Datenbasis startest. Oder mit Daten, die korrekt kodiert im DBMS stehen. Letzteres kann man mit phpMyAdmin kontrollieren. Wenn das alles richtig anzeigt, ist üblicherweise alles korrekt im DBMS, wenn nicht, dann nicht.

  • Header geändert <meta http-equiv="content-type" content="text/html; charset=utf-8" />

Genauer gesagt: Header-Ersatz geändert. Der kommt nur zur Anwendung, wenn kein anderslautender HTTP-Header vom Server gesendet wird. Zudem ist heutzutage <meta charset="UTF-8"> ausreichend.

Ergebnis: Anstelle von üöäÜÖÄß sowas hier: öäüÜÄÖß

Kodierfehler. Kommt zustande, wenn das Ziel Kodierung X erwartet, du aber Y schickst. Manchmal fällt das nicht auf, weil sich beim Zurückschicken der Fehler wieder aufhebt.

Nun bin ich mit meinem Latein am Ende, was läuft denn hier schief?

Vermutlich bereits falsch kodierte Daten im System, wie gesagt. Probier es mit neu hinzugefügten Daten. Wenn es damit wie gwünscht funktioniert, musst du den Altbestand korrigieren.

dedlfix.