Konvertieren Sie eine MySQL-Datenbank von Latein nach UTF-8

Ich bin die Konvertierung einer website von ISO auf UTF-8, so dass ich brauchen, um zu konvertieren MySQL-Datenbank zu.

Im Internet lese ich verschiedene Lösungen, ich weiß nicht, welches man wählen.

Brauche ich wirklich zum umwandeln meiner varchar-Spalten binary, dann auf UTF-8 so:

ALTER TABLE t MODIFY col BINARY(150);
ALTER TABLE t MODIFY col CHAR(150) CHARACTER SET utf8;

Dauert es eine lange Zeit zu tun, die für jede Spalte jeder Tabelle, jeder Datenbank.

Ich habe 10 Datenbanken, mit 20 Tabellen, mit rund 2 - 3 varchar-Spalten (2 Abfragen pro Spalte), das gibt mir um 1000 Abfragen zu schreiben! Wie es zu tun?

Gelöst :
Ich poste den code, den ich verwendet habe:

PASSWORD=""
db=$1

mysqldump --password=$PASSWORD --set-charset --skip-set-charset --add-drop-table --databases "$db" > /home/dev/backup/bdd.sql

QUERY="ALTER DATABASE \`$db\` DEFAULT CHARACTER SET utf8;"
mysql --password=$PASSWORD --database "$db" -e "$QUERY"

mysql --password=$PASSWORD --default-character-set=utf8 < /home/dev/backup/bdd.sql

Siehe die Antwort weiter unten für mehr Informationen.

InformationsquelleAutor der Frage Matthieu Napoli | 2010-03-30

Schreibe einen Kommentar