Aus aktuellem Anlass eine kurze Anleitung, wie man Apache, PHP5 und MySQL5 auf UTF-8 (in diesem Beispiel bei Debian) sicherstellt. Das ganze ist sehr kurz und knapp gehalten. Wenn man weitere Informationen benötigt, sollte man geziehlt nach den einzelnen Dingen suchen:
Apache
Änderung in der Datei /etc/apache2/apache2.conf vornehmen:
AddDefaultCharset utf-8
PHP
Änderung in der Datei /etc/php5/apache2/php.ini vornehmen:
[PHP]
default_charset = “utf-8″
[mbstring]
mbstring.language = utf-8
mbstring.internal_encoding = utf-8
mbstring.http_input = utf-8
mbstring.http_output = utf-8
MySQL
Änderungen in der Datei /etc/mysql/my.cnf vornehmen:
[client]
default-character-set = utf8
[mysqld]
default-character-set = utf8
character-set-server = utf8
collation-server= utf8_general_ci
init_connect = ‘SET collation_connection = utf8_general_ci’
init_connect = ‘SET NAMES utf8′
[mysqldump]
default-character-set = utf8
[mysqlimport]
default-character-set = utf8
[mysql]
default-character-set = utf8
Wichtig ist natürlich, dass man alle Dateien UTF-8 kodiert (ändern geht mit dem Linuxtool iconv) und auch die Datenbanken alle auf UTF-8 laufen.





Hallo !
Vielen Dank für die Auflistung, besonders der Teil über MySQL ist wirklich GOLD wert. Genau das was ich gesucht habe, alle infos, einfach übersichtlich und super.
Vielen Dank
Leo
ist das auch bzw. für php 5 ??
In meinem Beispiel ist es PHP5 – sollte aber auch genauso mit PHP4 funktionieren!
Wenn der Hoster keinen Zugriff auf die Default INI Dateien erlaubt, ist diese Lösung im PHP Skript auch gut für die Homepage, vorausgesetzt UTF8 wird für alle DB Anfragen gewünscht:
mysql_query(“SET NAMES utf8″);
Danke! hat geholfen!
“mbstring.language = utf-8″
spätestens hier sollte man merken dass der Autor nicht wirklich wusste was er da gemacht hat
Man hat Glück dass der Server niucht abstürzt bzw. überhaupt startet mit so ner schwachsinnigen Einstellung.
Kann man getrost komplett weglassen, die Sprache wird eh an den Browser des Clients angepasst
Danke für diesen Thread!