Konvertieren einer TYPO3-Installation zu UTF-8

URL dieses Beitrags: http://blog.stefan-macke.com/2006/11/28/konvertieren-einer-typo3-installation-nach-utf-8/

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.

Download des überarbeiteten Scripts

Überarbeitetes DB Convert für TYPO3

Füge diesen Artikel zu deinen Bookmarks hinzu Diese Icons verzweigen auf soziale Netzwerke bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • del.icio.us
  • bodytext
  • MisterWong
  • Reddit
  • Technorati
  • Spurl
  • description

Kommentare zu diesem Beitrag

  1. Gravatar Steffen
    Am 12. April 2007 um 17:01 Uhr

    Hi!
    Ich habe das Problem mit den Umlauten nur im GIFBUILDER. Nach meinem Seitenumzug werden keine Umlaute mehr in Grafiken generiert. Meine ehemalige Datenbank lief unter der Kollation latin1_swedish_ci und meine neue unter UTF-8. Allerdings werden alle Texte einwandfrei wieder gegeben. Das Problem betrifft nur die Texte in den Grafiken.
    Ein Schriftarten-Problem konnte ich ausschließen - es geht auch mit der Standard-Schriftart nicht...
    Kannst du mir dazu etwas sagen?
    Gruß,
    Steffen

  2. Gravatar Stefan
    Am 12. April 2007 um 17:47 Uhr

    Mhh... also den GIFBUILDER setze ich leider nicht ein :(
    Welche Version hast du denn? Vielleicht ist es ein TYPO3-internes Problem. Ich meine, TYPO3 ist noch nicht so lange vollständig UTF8-fähig, oder? Vielleicht hilft auch diese Extension: http://typo3.org/extensions/repository/view/convert2utf8/1.0.6/

  3. Gravatar Steffen
    Am 13. April 2007 um 11:49 Uhr

    Danke für den Tipp. Leider hab ich keinen Unterschied durch die Extension gemerkt... Mich wundert es eben, dass es nur bei den Grafiken so ist. Ansonsten werden alle Umlaute einwandfrei dargestellt.
    Ich nutze Typo3 Version 4.1 und IM-Version 4.2.9.

  4. Gravatar Stefan
    Am 14. April 2007 um 10:08 Uhr

    Also dann tippe ich mal auf ImageMagick. Das gibt's ja schon länger in Version >6. Bei einer kurzen Suche konnte ich allerdings nichts zu UTF8-Problemen der Version 4 finden, aber vielleicht hast du da ja mehr Glück...

  5. Gravatar Steffen
    Am 15. April 2007 um 13:13 Uhr

    Hm, ja. aber es ist ja Absicht, dass ich diese alte Version von IM benutze, da sie für Typo3 empfohlen wird. Außerdem habe ich diese Version auch auf dem alten System laufen gehabt und dort nie Probleme gehabt.
    Da ich immer noch keine Lösung gefunden habe, bin ich jedoch am überlegen, ob ich doch mal versuche, eine aktuelle Version von IM zu installieren. Hab allerdings ein wenig Angst, da auf dem Server einige Kunden-Seiten liegen. D.h. es darf nichts schief gehn! Werde eben doch noch weiter recherchieren müssen...

  6. Gravatar typo3.schloebe.de
    Am 18. September 2007 um 16:46 Uhr

    Russische/kyrillische Inhalte in Typo3...

    Bei größeren internationalen Webseiten ist nicht immer der Standard gesetzt, dass die Schriftzeichen den europäischen entsprechen. Will man russische Inhalte einpflegen, gilt es einige Vorbereitungen zu treffen. Dieser Artikel widmet si...

  7. Gravatar InforMedic
    Am 4. October 2007 um 20:01 Uhr

    Hallo,

    super script - aber kann es sein das wenn man zuvor mit phpmyadmin die kollation auf utf8 geändert hat, sich bei den Umlauten Müll produziert hat, was dann dazu führt dass dann der DB-Inhalt nicht mehr mit konvertiert wird bzw. den Kruscht, den phpmyadmin produziert hat erneut umwandelt -> in noch größeren Kruscht?

    Anbei habe ich ein kleine T3-Tut basierend auf diesem script geschrieben und im typo3.net forum veröffentlicht. Hoffe das ist ok!

    Anbei der Link: http://www.typo3.net/forum/list/list_post//68944/

    Gruß
    InforMedic

  8. Gravatar Stefan
    Am 5. October 2007 um 14:29 Uhr

    Klar ist das ok!

    Ich glaube den Fehler mit dem Umstellen der Collation habe ich beim Rumprobieren auch mal gemacht, bevor ich dann aufgegeben und das Script entwickelt habe :-)

  9. Gravatar Basti
    Am 27. June 2008 um 09:23 Uhr

    Hi,

    ich habe die Umstellung per Script als Tutorial beschrieben: http://www.typo3erweiterungen.de/detail/article/39/typo3-auf-utf-8-umstellen/

    Zusätzlich habe ich deine Version etwas modifiziert. Bei deiner Version werden nämlich nicht alle Tabellenfelder umgewandelt. Deswegen diese Zeile:

    if(strpos($column['Type'], "char") != false || strpos($column['Type'], "text") != false)

    mit dieser ersetzen:

    if(strpos( ! $column['Type'], “char”) === false || ! strpos($column['Type'], “text”) === false)
  10. Gravatar Stefan
    Am 27. June 2008 um 14:49 Uhr

    Hi Basti. Danke für den Tipp!

Einen Kommentar schreiben

XHTML: Diese Tags sind erlaubt: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>