von Oliver Thiele, 02.09.2008

Tipps zum Wechsel von Latin1 auf UTF-8: MySQL und TYPO3 auf UTF-8 umstellen

Aus dem
t3n Magazin Nr. 13

Jetzt kaufen

Falls der Server UTF-8 im Dateisystem verwenden kann, ist es möglich, einen Haken bei „[UTF8filesystem]“ zu setzen. Diese Konfiguration hat aber nichts mit der Datenbank-Umstellung zu tun und ist abhängig von den locale-Einstellungen des Servers. In der Datei „php.ini“ sollte sicherheitshalber auch „default_charset“ auf UTF-8 gesetzt werden, damit alle PHP-Skripte ohne explizite Angabe den richtigen Zeichensatz verwenden.

Damit ist die Umstellung fertig, aber Sie sollten jetzt noch einen Test machen. Loggen Sie sich dazu im TYPO3-Backend ein und ändern den Namen des Admins, zum Beispiel auf Müller. Dieser sollte sowohl im Backend als auch in phpMyAdmin mit einem „ü“ angezeigt werden. Wird irgendwo das „ü“ als „ü“ angezeigt, haben Sie vermutlich einen Schreibfehler im Install-Tool gemacht.

Umstellung einer vorhandenen Datenbank

Sollten Sie bisher noch keine fehlgeschlagenen Versuche gemacht haben, dann ist dies gar nicht so schwierig. Wichtig ist hier vor allem wieder die richtige Reihenfolge, damit nicht später zwei verschiedene Zeichensätze in der Datenbank sind. Dann wäre nämlich keine fehlerfreie Umwandlung eines Datenbank-Dumps mehr möglich. Als erstes müssen Sie, wie auch beim Neuanlegen beschrieben, mit phpMyAdmin die Kollation der Datenbank auf „utf8_general_ci“ umstellen. Auch hier muss umgestellt werden, aber auf jeden Fall erst, nachdem der Datenbank-Dump erstellt wurde: Bei MySQL 4.0 kann ein Dump mit der folgenden Zeile erstellt werden (USER, PASSWORT HOST und DB müssen durch die echten Daten ersetzt werden):

SHELL

mysqldump --opt -Q -u USER -p PASSWORT -h HOST DB > dump.sql

Listing 1

Sollte die auf dem Zeichensatz „latin1“ basierende Datenbank in MySQL-Version 4.1 oder einer aktuelleren Version gespeichert sein und nur einen Zeichensatz verwenden, kann man den Dump mit dem zusätzlichen Parameter „--compatible=mysql40“ ohne Ausgabe der Kollation (wird für die Sortierung benötigt) erstellen. Sofern man den Kompatibilitätsmodus nicht einsetzt, muss man im Dump noch Charset und die Kollation anpassen. Aus der Zeile „ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;“ würde dann beispielsweise „ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_gene-ral_ci;“ werden.

Seite:  1 2 3 4 5 6

Empfohlene Artikel

2 Antworten

  1. von Urs Bräm 01.12.2009 (23:11Uhr) 1.

    Toller Artikel! Hat mir extrem geholfen. Danke.

    Allerdings habe ich wiederholt festgestellt, dass Halbgeviertstriche und einfache (typographische) Anführungszeichen nicht sauber konvertiert werden. Auf Windows 7 sind sie ganz verschwunden, mit IE 6 auf XP sind sie Kästchen sichtbar. Ob das an iconv liegt?

  2. von Neuinstallation auf UTF8 - TYPO3 Forum &… 16.09.2010 (10:52Uhr) 2.

    [...] [...]

Deine Meinung


(wird nicht veröffentlicht)