MySQL Zeichensatz und Kollation umstellen

Wer gerade, wie ich, fast seinen Rechner an die Wand geklatscht hat bei obig genannter Aufgabenstellung, hier mal eine kurze und knappe Anleitung.

Ich wollte gerade einen MySQL-Dump testweise auf einen anderen Server einspielen. Mit der Aufgabenstellung, gleich von Latin1 auf UTF8 umzusatteln. Nachdem ich an teils falschen und teils unvollstĂ€ndigen Hilfestellungen aus dem Web fast verzweifelt bin, hier folgende Parameter fĂŒr die Serverkonfiguration. Dies funzt auch mit anderen ZeichensĂ€tzen als UTF8, einfach entsprechenden Wert eintragen. Grundproblematik des Ganzen ist, dass bei MySQL werksseitig der Zeichensatz zwar klasse auf Latin1 steht, aber die Kollation auf latin1_swedish_ci. Ganz toll bei Foren etc fĂŒr Àöu und anderen deutschen Sonderzeichen.

my.cnf (/etc/my.cnf)

[mysqld]

default_character_set = utf8
default_collation = utf8_general_ci
character_set_server = utf8
collation_server = utf8_general_ci

[mysql]

default-character-set = utf8

Abschliessend den MySQL Serverdienst neustarten.

Und jetzt kommt der Clou, wenn man jetzt den Dump wieder in seine Datenbank importiert passiert folgendes: nix. Alle Tabellen wieder latin1_swedish_ci. Grundproblem hier: die DB ist noch auf Latin1 erstellt worden…und da wird der Standardzeichensatz fĂŒr Latin1 genommen: latin1_swedish_ci. Richtig! :-|

FĂŒr diese Erkenntnis habe ich ca 1,5h gebraucht. Sagt einem ja auch keiner. Alle labern nur von Export der Daten, Löschen der Tabellen, Reimport derselben. Hmpf.

Nun gut, also einfach die DB via mysql-Komandozeile umstellen oder stumpf löschen und neu anlegen. Geht eh meist schneller.

Mann kann auch sÀmtliche Tabellen einzeln und via phpMyAdmin per Hand umstellen, ist aber auch nicht so der Bringer.

Gute Nacht,

Henry

PS: Ist interessant fĂŒr phpBB, Wordpress, Joomla!, Mambo & Co.

Dezember 5, 2006  Tags: , , , , , , ,   Posted in: Anleitungen, Arbeitsalltag, Randnotizen

5 Responses

  1. Henry - Dezember 16, 2006

  2. webdream - Februar 21, 2008

  3. KUMO - April 22, 2008

  4. Peter Jagusch - Juni 6, 2008

  5. Silent - April 5, 2009

Leave a Reply