Kürzlich bin ich mit unserem Intranet, das unter TYPO3 läuft, von einem Windows- auf einen Linux-Server umgezogen. Nun gab es einige Probleme mit dem Zeichensatz (Umlaute wurden nicht korrekt dargestellt etc.) und ich wollte die vorhandene Installation auf UTF-8 umstellen. Dazu habe ich bei typo3-media.com auch einen sehr guten Artikel gefunden.
Ich habe also u.a. zunächst einmal ein Dump der Datenbank gemacht, diese auf UTF-8 umgestellt und das Dump zurückgespielt. Aber leider standen die Umlaute etc. immer noch in “Reinform” (ä, ö usw.) in der Datenbank, also nicht als seltsame Zeichenkombinationen. Nunja, dann habe ich einfach mal TYPO3 auf UTF-8 umgestellt: im Template metaCharset = UTF-8 und renderCharset = UTF-8 eingestellt und im Install-Tool [BE][forceCharset] = utf-8. Aber wie zu erwarten war, wurden die Umlaute als Fragezeichen ausgegeben…
Abhilfe schuf ein kleines Script, das sämtliche Datenbankinhalte in UTF-8 konvertiert, indem es diese ausliest und mit PHPs utf8_encode() konvertiert. Das Script habe ich auf dopefreshtight.de entdeckt: Von ISO-8859-1 zu UTF8.
Ich musste das Script aber ein klein wenig anpassen, da die recht umfangreichen Tabellen von TYPO3 zu Speicherproblemen führten. Zum einen bei sehr vielen Datensätzen in einzelnen Tabellen und zum anderen bei umfangreichen Inhalten in einzelnen Datenfeldern. Es gibt nun auch die Namen der Tabellen und die Anzahl der Datensätze aus. Wenn man es auf der Kommandozeile ausführt, kann man somit recht gut verfolgen, wie weit der Fortschritt ist…
Alle Schritte, die nötig waren um die Installation auf UTF-8 umzustellen, habe ich auch noch einmal in mein Wiki eingetragen.



