TYPO3 und UTF-8

Beim Umgang mit TYPO3 (und anderen PHP Projekten) und einer UTF-8 Datenbank gibt es einen Stolperstein, der nicht so offensichtlich zu lösen ist.
Der Kniff ist die Datenbank beim Initialisieren auf UTF-8 einzustimmen… entweder im Konfigurationstool unter “setDBinit” mit:

1
2
3
4
SET NAMES utf8
SET CHARACTER SET utf8
SET SESSION character_set_server = utf8
SET character_set_connection = utf8

… oder einfach direkt in der typo3conf/localconf.php:

1
$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8'.chr(10).'SET CHARACTER SET utf8'.chr(10).'SET SESSION character_set_server = utf8'.chr(10).'SET character_set_connection = utf8';

EDIT: Ab TYPO 4.4 scheint es Probleme mit dieser Konfiguration zu geben. Verwendet stattdessen einfach nur den ersten Befehl “SET NAMES utf8;”.

Tags: , , , ,

6 Antworten zu “TYPO3 und UTF-8”

  1. Jörg sagt:

    Hi,

    ich hab deine Anleitung gerade ausprobiert.
    Wofür braucht man SET CHARACTER SET utf8 und
    SET SESSION character_set_server = utf8?

    Viele Grüße

    Jörg

  2. AaL sagt:

    Tja, gute Frage eigentlich. Hab mir das im Detail nie angeguckt.

    Wir haben hier gerade ein TYPO3 Projekt auf Version 4.4 aktualisiert, danach waren wieder sämtliche Umlaute zerschossen (http://bugs.typo3.org/view.php?id=14740).

    Nur mit “SET NAMES” scheint der ganze Kram wieder zu funktionieren.

    1
    $TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8;'
  3. Your momma sagt:

    Liegt meist an mySQL…. ich würde eigentlich all das nur von der Datenbank abhängig machen.

    Und mach mal öfter Einträge – wie oft soll ich UTF-8 mit Typo3 lesen?!

  4. AaL sagt:

    Was meinst du genau? Mit diesem setDBInit und zusätzlich forceCharset für das Backend funktioniert UTF-8+TYPO3 eigentlich flächendeckend.

  5. Bojo sagt:

    Das Problem kann ich bestätigen – die Lösung auch. Bei mir hat es auch mal kurzfristig ohne Eintrag geklappt. Bei jweiland.net geht man von einem Fehler im Install Tool aus, wenn mehrere Zeilen in dem setDBinit Formularfeld stehen.

  6. burn sagt:

    In TYPO3 Version 4.4.2 schaut der Eintrag mit o.g. Einstellungen nach Abspeichern in der localconf.php wie folgt aus:

    $TYPO3_CONF_VARS['SYS']['setDBinit'] = ‘SET NAMES utf8\’ . LF . \’SET CHARACTER SET utf8\’ . LF . \’SET SESSION character_set_server = utf8\’ . LF . \’SET character_set_connection = utf8′; // Modified or inserted by TYPO3 Install Tool.

    @AaL: Setz mal die Textfarbe für das Comment-Feld auf #fff, schwarz auf dunkelblau hat einen recht geringen Kontrastwert ;)

    /burn

Hinterlasse eine Antwort