In älteren TYPO3-Installation wird “latin1″ als Standart-Zeichensatz verwendet. Das kann grade bei Mehrsprachigen Websites zu Problemen führen. In diesem Tutorial zeige ich wie man die Datenbank manuell auf utf8 umstellt.
Datenbank-Kollation auf UTF-8 umstellen:
Die Kollation kann am einfachsten mit dem Tool phpMyAdmin geändert werden. Oft ist diese Open-Source-Software schon vom Provider vorinstalliert. Sollte das nicht der Fall sein kann man auch mit dem Extension-Manager die gleichnamige TYPO3-Erweiterung installieren.
In phpMyAdmin ruft man den Menüpunkt Operationen auf und wählt dann bei Kollation den Eintrag “utf8_general_ci” aus. Für Deutschland wäre auch noch die Kollation “utf8_unicode_ci” möglich, allerdings ist diese langsamer und hat als einzigen Unterschied die Sortierung von “ß” nach “ss” und nicht nach einfachem “s”. Daher sollte man diese langsamere Variante später bei Bedarf nur für einzelne Felder umstellen.
Löschen der vorhandenen Tabellen:
Als nächstes müssen alle Datenbanktabellen (nur die Tabellen!) gelöscht werden. Dazu klickt man auf den Datenbanknamen direkt über der Tabellenübersicht an der linken Seite oben an. Nun sollte im rechtem Teil der Seite eine Übersicht aller Tabellen zu sehen sein. Scrollt man nun nach unten, kann man “Alle auswählen” und dann “Löschen” anklicken. Es folgt eine Sicherheitsabfrage und nun kann man alle Tabellen droppen. Die folgenden Fehlermeldungen kann ignoriert werden. (ACHTUNG: Die Tabellen be_users und be_sessions sind nun gelöscht, man wird direkt ausgeloggt.)
TYPO3-Install-Tool:
[setDBInit] muss den Eintrag “set names utf8;” haben, und [forceCharset] sollte “utf-8” beinhalten.
Sind die PHP die Module iconv (php5) und mbstring aktiviert, muss noch bei [t3lib_cs_convMethod] und [t3lib_cs_utils] der Wert “iconv” eingetragen werden.
Die neue Datenbank:
Die neue Datenbankstruktur legt man am einfachsten im TYPO3-Install-Tool unter ”Database Analyser”an. Ein Klick auf COMPARE, und bestätigt mit “Write to database”. Jetzt sollte die Datenbankstruktur wieder richtig angelegt sein.
Da jetzt die Datenbankstruktur nun wieder in hergestellt ist, können die Tabellen wieder mit Daten gefüttert werden. Hierzu klickt man nun auf IMPORT und markiert die Checkbox vor “Import the whole file ‘CURRENT_STATIC’ directly (ignores selections above)”. Auch hier wieder bestätigen mit “Write to database“.
Achtung auch der Adminuser muss neu angelegt werden!
So ich hoffe dem ein oder andrem konnte damit gehofen werden?!




























August 29th, 2008 at 15:13
Bei einer kompletten Neuinstallation des Systems ist das so möglich - aber gibt es auch eine Möglichkeit, bei der man die Datenbanktabellen nicht löscht? Aktuell befinden sich alle Seiteninhalte in diesen Tabellen und ich würde diese gerne auf UTF-8 umstellen.