phpbar.de logo

Mailinglisten-Archive

[php] (Fremd)sprachen Behandlung im CMS

[php] (Fremd)sprachen Behandlung im CMS

Helmut P. Fleischhauer hpf at abarcar.com
Mit Feb 4 20:29:38 CET 2004


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