38

私のデータベースは UTF8 ではありません。すべてのテーブルを UTF8 に変換したいのですが、どうすればよいですか?

4

5 に答える 5

46

単一のテーブルの場合、次のようなことができます。

ALTER TABLE tab CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

データベース全体について、これに似た方法以外の方法はわかりません。

http://www.commandlinefu.com/commands/view/1575/convert-all-mysql-tables-and-fields-to-utf8

于 2010-01-27T21:24:20.880 に答える
15
mysqldump --user=username --password=password --default-character-set=latin1 --skip-set-charset dbname > dump.sql
sed -r 's/latin1/utf8/g' dump.sql > dump_utf.sql
mysql --user=username --password=password --execute="DROP DATABASE dbname; CREATE DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;"
mysql --user=username --password=password --default-character-set=utf8 dbname < dump_utf.sql
于 2010-01-27T21:21:59.637 に答える