Wichtig: Ich blogge nun auch unter www.adminbloggt.de - Lest dazu den Eintrag hier im Blog.

Apache, PHP und MySQL auf UTF-8 umstellen

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.

Ähnliche Beiträge im Blog:



7 Kommentare zu “Apache, PHP und MySQL auf UTF-8 umstellen”

  1. Kommentar von Leo Unglaub | 23.10.08 um 13:17

    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

  2. Kommentar von basty | 18.02.09 um 21:36

    ist das auch bzw. für php 5 ??

  3. Kommentar von Timo Dreger | 18.02.09 um 22:00

    In meinem Beispiel ist es PHP5 – sollte aber auch genauso mit PHP4 funktionieren!

  4. Kommentar von mobile | 24.02.09 um 02:58

    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″);

  5. Kommentar von skipjack | 15.11.09 um 00:16

    Danke! hat geholfen!

  6. Kommentar von Name | 17.04.11 um 19:53

    “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

  7. Kommentar von Supporter | 09.11.11 um 19:52

    Danke für diesen Thread!

Kommentar schreiben »