Probleme mit dem Zeichensatz sind oft wirklich schwierig herauszufinden. Grundsätzlich müssen Sie sicherstellen, dass alle folgenden Punkte zutreffen:
- Die DB-Verbindung verwendet UTF-8
- Die DB-Tabellen verwenden UTF-8
- Die einzelnen Spalten in den DB-Tabellen verwenden UTF-8
- Die Daten werden tatsächlich gespeichert korrekt in der UTF-8-Kodierung innerhalb der Datenbank (häufig nicht der Fall, wenn Sie aus schlechten Quellen importiert oder Tabellen- oder Spaltensortierungen geändert haben)
- Die Webseite fordert an UTF-8
- Apache serviert UTF-8
Hier ist ein gutes Tutorial zum Umgang mit dieser Liste von Anfang bis Ende:http:/ /www.bluebox.net/news/2009/07/mysql_encoding/
Es hört sich so an, als ob Ihr Problem speziell darin besteht, dass Sie doppelt codierte (oder dreifach codierte) Zeichen haben, wahrscheinlich durch das Ändern von Zeichensätzen oder das Importieren bereits codierter Daten mit dem falschen Zeichensatz. Im obigen Tutorial gibt es einen ganzen Abschnitt darüber, wie man das behebt.