Bestehende Seite auf UTF-8 umcodieren
Das sollte eigentlich nicht mehr benötigt werden. Früher gab es Installationen mit ISO-8859-1 Codierung welche Probleme machten, wenn man auf ein neues TYPO3 mit UTF-8 aktualisiert hat. Aber ich lass den Beitrag hier mal stehen, vielleicht braucht es ja doch jemand.
Zunächst die Datenbank konfigurieren
Entweder in der MySQL Konfiguration:
edit my.cnf
[client]
default-character-set=utf8
oder in TYPO3 localconf.php
$TYPO3_CONF_VARS["SYS"][setDBinit] = '
SET NAMES utf8
SET CHARACTER SET utf8
SET character_set_connection = utf8';
Export
Datenbank exportieren: mysqldump -u user -p database > backupfile.sql
Neue Datenbank
Datenbank löschen und neue Datenbank anlegen. Sicherstellen, dass diese UTF-8 ist z.B. mit:
ALTER DATABASE databasename DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
Exportfile umcodieren
Wenn das backupfile.sql nicht schon UTF-8 ist muss es umcodiert werden (UNIX Befehl):
iconv -f ISO-8859-1 -t UTF-8 backupfile.sql
Exportfile anpassen
Alle CREATE TABLE Statements anpassen: CHARSET=latin1 mit CHARSET=utf8 ersetzen.
sed 's/CHARSET=latin1/CHARSET=utf8/' backupfile.sql > backupfile_utf8.sql
Importieren
mysql -u user -p database < backupfile_utf8.sql