Zum Inhalt springen

Umstellung auf utf-8

Erstellt am 14. Februar 2008 · 1 Antwort · letzte Antwort am 14. Februar 2008

Tags: Datenbank, Frage

helge ·

Ich weiß, das ist ein altbekanntes Problem, und es gibt genügend Anleitungen dafür, aber ich schaffe es nicht, meine Typo3-Installation ordentlich von latin1 auf utf-8 umzustellen. Der Grund dafuer ist (anscheinend), dass der Zeichensatzkonverter, den ich verwende (das gute alte recode), nicht richtig funktioniert. ä, ö und ü werden richtig umgewandelt, aber die großen Ä, Ö und Ü sowie das ß nicht.

Hier ist der Vorgang, wie ich die Umwandlung vornehme (auf der Shell, nicht PHP):

mysqldump -h <db-host> -u <db-user> --password=<db-passwort> <typo3-db> > dump.sql
(echo 'ALTER DATABASE <typo3-db> DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;'; \
    cat dump.sql | \
       recode latin1...utf8 | \
       sed 's/CHARSET=latin1/CHARSET=utf8/') | \
  mysql -h <db-host> -u <db-user> --password=<db-passwort> <typo3-db>

In der localconf.php:

$TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';
$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8; SET CHARACTER SET utf8;'

Kann mir jemand sagen, was ich hier falsch mache? Oder mir ein besseres Programm zur Zeichensatzkonvertierung empfehlen als recode?

Thanks, Helge

nicki4lu ·

Hallo,

also, ich mach das immer über PhpMyAdmin. Alte Datenbank exportieren (nur Daten), auf utf-8 umstellen und Daten wieder importieren.

Was mir bei deiner Anleitung auffiel: Hast du auch im Fronend auf utf8 umgestellt?

Liebe Grüße,
Nicole