Umstellung auf UTF-8

Steglich

Steglich

Aktives Mitglied
Thread Starter
Dabei seit
30.05.2003
Beiträge
206
Reaktionspunkte
0
Im Zeichen der Europäisierung bin ich dabei mein CMS, das ich mit PHP4 und SQL5 programmiert habe, auf utf-8 umzustellen. Jetzt gibt es dazu hier im Forum schon einige Informationen, aber mit keiner komme ich zu einer Lösung.

Hier einmal mein Vorgehen:
1. Die Dateien werden in utf-8 kodiert (mit SubEthaEdit wunderbar einzustellen).
2. Im Header wird
HTML:
<meta http-equiv="content-type" content="text/html; charset=utf-8">
eingefügt, damit die Browser es auch richtig lesen können.
3. In der SQL Datenbank werden die CHARACTER SET auf utf8 gesetzt (mit dem ALTER DATABASE und ALTER TABLE Befehlen und oder mit phpMyAdmin).

Dennoch habe ich ein Problem mit dem Server bei 1und1, denn die Umlaute werden nicht richtig dargestellt.

Da habe ich einmal mit phpinfo() den Server überprüft, und dort sind folgende Variablen auf ISO-8859-1 gesetzt: conv.input_encoding, iconv.internal_encoding, iconv.output_encoding, idn.default_charset .

Muss ich diese Variablen ändern und wenn ja wie und auf welchen Wert?
 
du musst im php mysql code noch die client collation setzen...
eine query mit SET NAMES UTF8
die steht sonst standardmässig auf latin1-swedish...
vielleicht musst du auch noch php-mysqli verwenden...
 
php Variablen

Habe es mit den PHP Variablen versucht:
PHP:
ini_set('iconv.input_encoding', 'utf-8');
ini_set('iconv.internal_encoding', 'utf-8');
ini_set('iconv.output_encoding', 'utf-8');
ini_set('idn.default_charset', 'utf-8');
und es funktioniert mit diesen Variablen auch nicht.

@oneOeight:
Habe es auch mit
PHP:
mysql_query("SET NAMES UTF8");
versucht. Und ...

... es funktioniert, super danke.
 
MySQL Reference

Jetzt habe ich auch den entsprechenden Link in der MySQL Reference gefunden:
http://dev.mysql.com/doc/refman/5.0/en/charset.html
ganz unten auf der Seite ;-)

Muss ich diese query nach jeder Datenbankverbindung einfügen?
Gibt es nicht die Möglichkeit, dass man dies einmal global setzt?
 
Zurück
Oben Unten