hotti: MySQL DB von latin1 auf UTF8 umstellen

Beitrag lesen

hi,

Da die ganze Anwendung aber mehrsprachig aufgebaut wird und ich nicht weiss welche Sprachen in Zukunft verwendet werden, möchte ich gerüstet sein und alles auf UTF8 umstellen.

Ok, ein paar Worte auch von mir dazu.
Collation: interessiert nur bei Sortier- und Vergleichsfunktionen.
Charset: seit MySQL 4.1 hat jeder textliche Inhalt einen Stempel mit dem Charset.

Für Beides gibts Default-Einstellungen, die vererblich sind. Die Collation ist spaltenbezogen (gilt für einzelne Felder). Charset: Server -> Engine -> Tabelle.

Der Charset entscheidet über die Platzreservierung für die Daten. Ein char(20) in Latin kriegt 20 Byte reserviert, für ein char(20) in utf-8 hingegen werden 60 Byte reserviert.

Es ist möglich, dass eine Zeichenkette als latin1 getagged (deklariert) ist, jedoch utf-8 Zeichen enthält. Die Collation ist an Charset gebunden.

Ergo: Wenn Du genügend Platz reserviert hast und keine Sortier- oder Vergleichsfunktionen nutzen musst, kann Dir collation und charset egal sein, da musst Du gar nichts umstellen.

Hotte

--
Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.