by Altrea » 11. May 2010 01:38
Charsets sind alles andere als trivial. Wenn man da nicht ganz genau aufpasst, verhaspelt man sich da ganz schnell.
Achte darauf, dass:
- deine html- und php-Seiten im Editor bereits mit den richtigen charset-Einstellungen gespeichert werden (ob und wo du das bei deinem Editor einstellen kannst hängt vom Editor ab)
- du die korrekten meta-charset Angaben im html-head setzt (danach richtet sich in der Regel der Browser. Achte auch auf korrekte Schreibweise, da sind manche Browser sonst sehr sensibel)
- bestimmte html-elemente (z.B. Formulare) bieten eine eigene Möglichkeit, anzugeben welches charset akzeptiert wird.
- je nachdem welchen Sprachstandard du verwendest, bietet dieser noch weitere Möglichkeiten den charset mitanzugaben.
- deine charset-Angaben zwischen Datenbank und Script zusammenpassen. Optimal wäre natürlich, wenn deine Datenbank dasselbe charset als Default eingestellt hat, wie php schon als Default. Dennoch ist die SET NAMES Anweisung für MySQL vorsichtshalber anzuraten.
Wie kannst du nun herausfinden, woran es scheitert?
- Überprüfe erstmal, welche Zeichenkodierung dein Browser verwendet, wenn du die Website aufrufst. Das kannst du zum Beispiel beim Firefox unter "Einstellungen > Zeichenkodierung" einsehen. Steht hier nicht Unicode, wäre das schonmal ein Anhaltspunkt für falsche oder fehlende meta angaben.
- Kommen deine Daten aus einer Datenbank, würde ich da anfangen. Kommen die Daten in einer Datenbank zum Beispiel aus einem Formular, dass mit einem falschen charset abgeschickt wurde, könnte es passieren, dass du sämtliche Daten überprüfen und ggf. händisch ändern musst.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!It's like porn for programmers