[TuGLE] Server-Update +++ TYPO3 +++ 'SET NAMES latin1'

Falko Trojahn news at trojahn.de
Do Dez 29 15:03:34 CET 2011


Hallo Dirk,

> Komischerweise lässt sich das Problem durch folgende Konfiguration in
> localconf.php beheben:
>
> * $TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES latin1';
>
> Was bedeutet denn das?
entweder, bei den Tabellen in der DB ist latin1 eingestellt, oder
die Tabellen sind in utf8 und beim Import wurde der falsche Zeichensatz
für die Verbindung verwendet.

>
> Wurden die Daten beim Import von UTF-8 (multi byte) auf ISO (single
> byte) umgewandelt?
>
> +---------------------------------------+
> | TYPO3 für Theater und Veranstalter |
> +---------------------------------------+
> 1 row in set (0.00 sec)
>
> mysql> set names UTF8;
> +---------------------------------------+
> | TYPO3 für Theater und Veranstalter |
> +---------------------------------------+
>
> mysql> set names latin1;
> +-------------------------------------+
> | TYPO3 für Theater und Veranstalter |
> +-------------------------------------+
>
> Was heipt das? Sind die Daten nun multi byte oder single byte gespeichert?
Die Daten dürften als "latin1" in der DB, also single byte.

Mein Vorschlag:

- feststellen, in welchem Format die Tabellen auf dem neuen
   Server beim Import angelegt werden -> latin1 ist normal Standard

- der Dump ist in utf8? -> Notfalls nochmal speichern
   mit entsprechenden Parametern; bei dump in phpmyadmin
   steht in den Kommentaren, ob utf8 oder latin1

- in my.cnf ggf. andere Standardwerte einstellen und mysql neu starten,
   z.B.

character-set-server=utf8
collation-server=utf8_general_ci
innodb-file-per-table

- den Import wiederholen - ggf. mit
    mysql --default-character-set=utf8 ...

HTH
Falko


More information about the TUGLE mailing list