23 Mai 2007

Accept-Charset: UTF-8

...nachdem wir neulich ein schönes XHTML in utf-8 gebaut und ausgeliefert haben, wollen wir heute doch mal testen, ob man Unicode-Zeichen auch mit einem Formular verwenden kann und, was davon nach dem Verschicken noch ankommt. Der Server kennt offenbar de_DE.UTF-8, das sagt uns auch 'locale' bzw. setlocale(LC_ALL,'de_DE.UTF-8') in PHP. Im HTTP-Header steht bereits Accept-Charset: UTF-8,*, deshalb können wir wohl darauf verzichten, dies per header() zu setzen (oder gar dies im form anzugeben) - gut. Die Spannung steigt. Nun noch ein Formular bauen und sich vom Script $_POST ausgeben lassen, damit man sieht, was übermittelt wurde. Das Ergebnis sieht doch gut aus (die kleinen o über den v sind angekommen). An dieser Stelle darf man sich wohl aber schon ein wenig fürchten, weil PHP kein Unicode beherrscht (man beachte die var_dump-Ausgabe: "string(18)? Aber das sind doch nur 6 Zeichen..." Denkste!).

(Ich habe übrigens keinen blassen Schimmer, was genau ich da in das erste Textfeld geschrieben habe, es sollte bestenfalls niemanden beleidigen...)

Labels: , , ,