TYPO3 im UTF-8 Modus verwenden

Kategorie: TYPO3
Publikationsdatum: 29.03.2011
In den älteren TYPO3-Versionen war es Standard, dass die Datenbank, die Datenbankverbindung sowie die Ausgabe über den Zeichensatz latin1 lief. Bei den neusten Version ist alles schon standardmäßig auf UTF-8 gesetzt. Sollte man nun aber ein altes TYPO3 neu installieren müssen, eine kleine Anleitung anbei.


Umstellung der Datenbank-Kollation auf UTF-8

Die Kollation kann am einfachsten mit dem Tool phpMyAdmin geändert werden. Oft ist diese Open-Source-Software schon vom Provider vorinstalliert. Wenn dies nicht der Fall sein sollte, dann kann man auch mit dem Extension-Manager die gleichnamige TYPO3-Erweiterung installieren.

Nach dem Aufruf von phpMyAdmin muss man nur den Menüpunkt Operationen aufrufen und dann bei Kollation den Eintrag utf8_general_ci auswählen. Für Deutschland und Österreich 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 TYPO3-MySQL-Datenbanktabellen

Im nächsten Schritt müssen alle Datenbanktabellen (und nur die Tabellen!) gelöscht werden. Da unter anderem die Tabelle be_users und be_sessions gelöscht ist, ist man natürlich direkt ausgeloggt.


Einstellungen im TYPO3-Install-Tool

Bevor die Tabellen neu angelegt werden, müssen die Einstellungen im Install-Tool gemacht werden. Wichtig sind hier vor allem 2 Einträge: setDBinit und forceCharset

[setDBInit] muss den Eintrag set names utf8; haben. Dieser Eintrag sorgt dafür, dass die Datenbank weiß, in welchem Datensatz die Daten übermittelt werden. Oft wird dieser Eintrag vergessen und dann speichert die Datenbank intern doppelt kodiertes UFT-8.

Bei [forceCharset] muss utf-8 eingetragen werden. Hiermit wird das Backend und Frontend umgestellt. Gleichzeitig werden also auch die TypoScript-Eigenschaften metaCharset und renderCharset richtig eingestellt.

Wenn im PHP die Module iconv (php5) und mbstring aktiviert sein sollten, sollten bei [t3lib_cs_convMethod] und [t3lib_cs_utils] der Wert iconv eingetragen werden.


Neuanlegen der Datenbank

Nach Abschluss aller Einstellungen kann die Datenbank wieder mit Tabellen und Daten gefüllt werden. Am einfachsten geht dies über das TYPO3-Install-Tool. Im Menüpunkt Database Analyser klickt man zunächst auf COMPARE und bestätigt das Anlegen der Tabellen mit Write to database. Jetzt sollte die Datenbankstruktur wieder richtig angelegt sein.

Falls nach dem Compare bestimmte Felder immer wieder angezeigt werden sollten, kann dies oft ignoriert werden (z.B. ist in der DB ein Feld mit char angelegt, TYPO3 möchte aber ein varchar anlegen).

Da jetzt die Datenbankstruktur wieder in Ordnung ist, können die Tabellen wieder mit Daten gefüllt werden. Hierzu klickt man nun auf IMPORT und markiert die Checkbox vor Import the whole file 'CURRENT_STATIC' directly (ignores selections above). Auch hier bestätigt man mit Write to database.

Es fehlt nur noch ein Admin-User. Dieser muss natürlich neu angelegt werden, da wir ja vorher alle Benutzer aus der Datenbank gelöscht hatten.


Überprüfung der Umstellung

Eigentlich ist man nun fertig mit der Umstellung auf UTF-8. Da ein Fehler aber später schwer zu beheben ist, sollte man die Umstellung testen. Dazu kann man einfach z.B. den Admin-User mit Umlauten im Namen versehen und dann schauen, ob in phpMyAdmin diese Umlaute genauso angezeigt werden, wie sie sein sollten. Steht dann anstatt Müller dort Müller, dann ist vermutlich bei setDBinit der Fehler zu suchen.
Stichwörter: TYPO3, UTF-8
 
 
NACH OBEN