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

 

 

 

Erstellt: 07/2010| Geändert: 10/2015