MySQL Server und UTF-8
Will man das der MySQL Server komplett unter UTF-8 läuft muss man ein paar Konfigurationen am Server vornehmen. Hierzu wird als Erstes die my.cnf
angepasst:
/etc/mysql/my.cnf
[mysql] default-character-set=utf8 [mysqld] collation_server=utf8_unicode_ci character_set_server=utf8
dann muss der Server neu gestartet werden:
/etc/init.d/mysql restart
Nun müssen noch eventuell vorhandene Datenbanken und Tabellen in UTF-8 konvertiert werden. Dies kann mittels mysql Client gemacht werden:
mysql -u root -p
Nach dem Einloggen einfach folgenden Befehl eintippen. Hier bitte für jede Datenbank den DB Namen ändern:
ALTER DATABASE `Datenbankname1` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; ALTER DATABASE `Datenbankname2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Nun müssen noch vorhandene Tabellen konvertiert werden. Das kann mit dem folgenden Skript getan werden. Einfach herunterladen, die Datenbankcredentials anpassen und via Shell oder Browser starten.
cd /usr/src/
wget http://wiki.laub-home.de/images/9/9a/Utf8-converter.zip
unzip Utf8-converter.zip
dann den oberen Teil des Skirptes editieren:
$DB_HOST = 'localhost'; // Enter your Database Host
$DB_USER = 'username'; // Enter your Database Username
$DB_PASSWORD = 'password'; // Enter your Database Password
$DB_DATABASE = 'database'; // Enter your Database Name
dann das Skript entweder in den Webspace kopieren und vie Browser aufrufen, oder einfach in der Konsole ausführen:
php utf8-converter.php