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.