Tom: UTF-8 und PHP (oder andere Scriptsprachen)

Beitrag lesen

Hello,

sorry, es kleckert noch was hinterher.

Mir fiel gerade ein, dass man vielleicht noch auf die "BOM" hinweisen sollte,
und auf die Multi-Byte-Funktionen der Programmiersprachen...

Wenn Du nun Deine Scripte (z.B. PHP) in utf-8-Codierung abspeichern lässt durch Deinen Editor, dann ist das im Prinzip unschädlich für alle Funktionen, die nicht die Stringerkennung betreiben.

Substr() kann nicht mehr benutzt werden, da es byteweise arbeitet. Ein Zeichen ist also immer ein Byte lang. Stattdessen musst Du dann die mb_-Funktionen verwenden.
http://www.php.net/manual/en/function.mb-substr.php

Ein paar Nebengedanken:
Ob man nicht besser eine Konfigurations-Variable oder -Konstante eingeführt hätte, die am Scriptanfang gesetzt würde, und PHP nun anzeigt, dass das Script in UTF-8 geschrieben ist...
Dann hätten alte Scripte nicht umgeschrieben werden müssen, sondern nur am Anfang die Parseranweiseung eingesetzt werden müssen...

Problematisch ist aber noch die sogenannte BOM an Anfang der Datei. PHP kann die noch nicht selbstständig erkennen und ignorieren. Manche Editoren setzen sie aber einfach automatisch ein.
http://de.wikipedia.org/wiki/Byte_Order_Mark

Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)