Mailinglisten-Archive |
Tim Strehle wrote: > 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 > ******** Hallo, bei uns wird je Sprache der passende ISO-code eingefügt <meta http-equiv=\"Content-Type\" content=\"text/html; charset=$isocode\"> z.B. de=ISO-8859-1 th=ISO-8859-11 ru=ISO-8859-5 cn (gb)=gb2312 cn (big 5)=big5 Helmut P. Fleischhauer
php::bar PHP Wiki - Listenarchive