Hallo
Mein (Denk-)Modell
... Was ich tun würde, wären zwei Dinge:
a) ich würde index.html mit der Zeichencodierung utf-8 speichern.
b) ich würde im Code das Metatag:
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
... einsetzen.
Das ganze scheint korrekt zu sein. Das schliesse ich daraus, dass ä,ü und ö korrekt dargestellt werden und das Firefox sagt, die Kodierung sei UTF 8.
Für eine statische Datei soweit korrekt.
... allerdings nur auf meinem Entwicklungssystem, ...
... wo du es vermutlich als Datei in den Browser lädst, womit dein Metaelement wirksam wird.
... nicht aber auf dem Server, wo es letztlich laufen soll. Das schiebe ich auf die Information, die ich mit phpinfo() unter "HTTP Response Heiders" / "Content-Type" finde. Hier gibt es m.E. drei Möglichkeiten, das zu überschreiben:
a) indem man die Konfiguration des Servers direkt ändert (php.ini?)
b) mit der Direktive AddDefaultCharset in der htaccess (wenn man darf)
c) mit php : header("Content-Type: text/html; charset=utf-8")Für mich kommt bis hierher nur c) in frage und ich benötige also eine index.php statt einer index.html, in die ich c) einsetze.
Ist bis hierher alles korrekt?
Ja, um Daten aus der DB holen, unbearbeitet in ein HTML-Template einfügen und das Resultat auszuliefern, reicht das mit den schon genannten Maßnahmen.
Werden die Inhalte jedoch vor dem Zusammenbau noch per PHP verarbeitet, kommen die im Thread schon mehrfach erwähnten mb-Stringfunktionen in's Spiel. Die "normalen" PHP-Stringfunktionen können nämlich nicht mit Zeichen umgehen, die in mehr als einem Byte gespeichert werden, wie sie in UTF-8 nunmal vorkommen. Bei der Verwendung der mb-Stringfunktionen muss die zu verwendende Zeichenkodierung mit mb_internal_encoding angegeben werden (es gibt ja derer mehrere), damit die richtige Kodierung auch verwendet wird.
Tschö, Auge
Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
Terry Pratchett, "Wachen! Wachen!"
ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
Veranstaltungsdatenbank Vdb 0.3