Mailinglisten-Archive |
Hallo Markus,
> Wir benutzen bisher auf input-Feldern htmlentities um
> Sonderzeichen etc. zu schützen. In
> chinesisch gibt das Probleme -> die chinesischen Zeichen
> werden zerhauen.
> Ohne den Befehl htmlentities würde es funktionieren.
hmm, wir benutzen htmlspecialchars() zur Darstellung, damit gab es
bisher auch mit seltsamen Zeichen keine Probleme. Probier das doch mal...
> Also meta-Angaben möchten wir auf UTF-8 innerhalb des
> CMS umstellen (um deutsche Labels und innerhalb
> Input-Feldern chinesische Zeichen darstellen
> zu können).
Genau - oder falls möglich, das gleich als HTTP-Header schicken:
header('Content-Type: text/html; charset=UTF-8');
> Weiteres Problem sind Felder mit VARCHAR 255
> in der Datenbank.
> Das CMS kennt Felder (Kurztexte), in denen man max.
> 255 Zeichen speichern kann (Datentyp VARCHAR 255).
> Bei chinesischen Zeichen würde natürlich nur die Hälfte
> in solche Felder passen etc. usw. usf..
Dafür gibt's die PHP-Funktion mb_strcut():
http://de.php.net/manual/en/function.mb-strcut.php
Falls Ihr irgendwo auf die Inhalte strpos(), substr() etc. anwendet, muß
man diese durch mb_strpos(), mb_substr() etc. ersetzen:
http://de.php.net/manual/en/ref.mbstring.php
Und ich vermute, daß man auch bei der Datenbank ein wenig tun muß, damit
die UTF-8 bzw. Unicode sauber speichert und verarbeitet...
Viel Spaß,
Tim
--
-------------------------------------------------------
Tim Strehle
Digital Collections http://www.digicol.com
-------------------------------------------------------
php::bar PHP Wiki - Listenarchive