phpbar.de logo

Mailinglisten-Archive

[php] (Fremd)sprachen Behandlung im CMS

[php] (Fremd)sprachen Behandlung im CMS

Tim Strehle tim at digicol.de
Mit Feb 4 16:25:48 CET 2004


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