[TYPO3-german] Probleme nach Umstellung auf UTF-8

Frank Walter francwalter at gmx.net
Tue Jun 14 19:12:24 CEST 2011


Hallo Peter,

danke für den Tipp.

Du hast Recht: in den Tabellen sind die ganzen Textfelder nach wie vor (natürlich) noch latin1.
Die muss ich aber jetzt nicht umwandeln, oder?
Etwa:

ALTER TABLE `mydb`.`tt_content` MODIFY COLUMN `t3ver_label` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci;

usw.

> Dann ist es (fast) egal in welchem Zeichensatz ein Feld vorliegt, weil
> MySQL das entsprechend handhabt.

Kann ich mir das so vorstellen: Typo3 reicht dem MySQL-Server ein UTF8-Zeichen (als UTF8-Zeichen) zum Speichern, MySQL speichert es in einem latin1-Feld und wenn Typo3 das Zeichen wieder verlangt (als UTF8-Zeichen), dann gibt MySQL das Zeichen das intern als latin1 gespeichert ist, wieder als das entsprechende UTF8 heraus?
Demnach wäre ziemlich egal, was man für einen Zeichensatz einstellt, wenn das Feld nur groß genug bemessen ist?

In der Tat ist das für mich noch ziemlich komplex, da kaue ich schon lange dran rum :)


Ich hatte vorher schon in my.cnf für den MySQL Server hinzugefügt:


[client]
default-character-set=utf8

[mysqld]
collation-server=utf8_general_ci
default-character-set=utf8
collation-server=utf8_general_ci
init-connect='SET NAMES utf8'


Und die von dir genannten Einstellungen in Typo3 sind auch getan.

Ich hoffe dass es jetzt dauerhaft läuft.



> -----Ursprüngliche Nachricht-----
> Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im
> Auftrag von Peter Niederlag
> Gesendet: Dienstag, 14. Juni 2011 16:20
> An: typo3-german at lists.typo3.org
> Betreff: Re: [TYPO3-german] Probleme nach Umstellung auf UTF-8
> 
> Hallo,
> 
> Am 14.06.2011 13:58, schrieb Frank Walter:
> [...]
> > ALTER TABLE `typo3_DB`.`tab_n` CHARACTER SET utf8 COLLATE utf8_general_ci;
> 
> Nur zur Info: mit diesem ^^^ Befehl stellst Du lediglich den _default_
> Charset für neu anzulegende Felder ein. Dies wirkt sich dann aus, wenn
> ein Feld (ohne explizit eine bestimmten Zeichensatz festzulegen) neu
> angelegt wird.
> 
> Einen Zeichensatz hat in MySQL jedes (~"text") feld. Der Zeichensatz auf
> den Ebenen Server,Datenbank und Tabelle wirkt sich nur als "default" auf
> die jeweils nächste Ebene aus, wenn eine Datenbank, eine Tabelle, ein
> Feld neu angelegt wird und dabei kein expliziter Zeichensatz festgelegt
> wird. Demzufolge hat das nur indirekt etwas mit einer Umstellung zu tun.
> 
> Es gibt eigentlich nur eine Sache die wirklich richtig wichtig ist!
> -------------------------------------------------------------------
> Der Zeichensatz der Verbindung muss zum Zeichensatz in TYPO3 passen
> (forceCharset und setDBinit).
> -------------------------------------------------------------------
> Dann ist es (fast) egal in welchem Zeichensatz ein Feld vorliegt, weil
> MySQL das entsprechend handhabt.
> 
> Problematisch ist nur, wenn der angezeigte Zeichensatz eines Feldes
> nicht mit der tatsächlichen Kodierung des Inhalts übereinstimmt (was bei
> TYPO3 früher schnell passieren konnte).
> 
> > Bis jetzt klappt alles.
> 
> Das ist schön! :->
> Leider ist das Thema Zeichensatz relativ kompliziert und es kann, gerade
> bei einer Umstellung, einiges schief gehen.
> 
> Gruß,
> Peter
> --
> Peter Niederlag
> http://www.niekom.de * TYPO3 & EDV Dienstleistungen *
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german



More information about the TYPO3-german mailing list