[TYPO3-german] TYPO3 und Charset-Chaos

Raphael Weber mailinglisten at screensolutions.de
Fri May 14 19:30:05 CEST 2010


Hallo Peter,

>> Die Datenbank (MySQL 5)ist komplett auf utf8 eingestellt
>> (character_set_client, character_set_connection,
>> character_set_database) und im Installtool steht '[BE][forceCharset] =
>> utf-8' aktiviert.
>
> Das ist richtig. Entscheidend ist m. W. nicht nur die Kollation der
> Datenbank sondern auch die Kollation der Datenbankverbindung.

Die Datenbankverbindung ist utf-8 (s.o.). Die Kollation ist in diesem 
Falle m.W. nicht relevant, weil sie -korrigiert mich bitte, falls das 
nicht stimmt- nur die Sortierung der Daten betrifft. Aber auch da stehen 
die Servervariablen auf utf8_general_ci (collation_connection, 
collation_database, collation_server).

> Standardmäßig ist die Kollation der Datenbankverbindung eben nicht
> automatisch UTF-8, sondern erst dann, wenn man diese mit set names utf-8
> erzwingt.
In diesem Fall sollte das m.M.n. nicht nötig sein, da (s.o.) der 
Datenbankserver offensichtlich mit utf-8 arbeitet. Wenn ich 
'forceCharset' und 'setDBinit' beiden keinen Wert zuweise, speichert 
TYPO3 die Sonderzeichen auch korrekt.

>> Was mich jetzt allerdings brennend interessiert:
>> a) wie werden die Eingaben aus dem Backend tatsächlich kodiert, wenn
>> forceCharset auf utf-8 gesetzt ist und setDBinit keine Anweisung enthält?
>
> Das hängt m. W. von der Konfiguration von MySQL und/oder PHP ab, kann
> also auf jedem System anders aussehen. Aber m. W. werden in der Regel
> dann utf-8 Daten über eine latin-DB-Verbindung gesendet, was dazu führt,
> dass in der DB die utf-8-Zeichen in latin gespeichert werden.
Du meinst, in TYPO3 wäre standardmässig eine Übertragung in latin1 
konfiguriert, auch wenn die Datenbank auf utf-8 eingestellt ist?

> man schön sehen, wenn man mit phpMyAdmin drauf geht und dort fehlerhafte
> Zeichen sieht, während TYPO3 korrektes utf-8 ausliefert.
Das ist tatsächlich der Fall.

> Ist er das? Welchen Zeichensatz hast du im Dump tatsächlich? Öffnen mit
> einem Texteditor und nachschauen ist die einzige Möglichkeit das
> rauszufinden. Je nachdem, mit welcher Datenbankverbindung du den Dump
> erstellst, erhältst du Latin oder utf-8 im Dump, und zwar unabhängig
> davon, welche Daten in der Datenbank drin sind ...
Der Dump ist als utf-8-datei gespeichert. Die Datenbankverbindung ist, 
wie gesagt, 100%ig utf-8.

Gruß,
	raphael


More information about the TYPO3-german mailing list