更改MySQL表的字符集

时间:2014-07-09 06:33:46

标签: mysql sql database utf-8 character-encoding

我有一个带CHINESE的MySQL表DEFAULT CHARSET=latin1,它有一个NAMECHARACTER SET latin1。我有大量数据存储在此表中。大约一百万行。而且,我想在我的数据库上执行以下命令:
ALTER DATABASE <DATABASE_NAME> DEFAULT CHARACTER SET utf8
ALTER TABLE CHINESE DEFAULT CHARACTER SET utf8
ALTER TABLE CHINESE MODIFY NAME VARCHAR(30) CHARACTER SET utf8

考虑到我在此数据库中存储了大量数据。我应该在我的数据库上运行这些命令吗?这些命令会以任何方式锁定数据库吗?

我正在使用Java来查询和插入数据库中的值。在URI字符串中附加?useUnicode=yes&characterEncoding=UTF-8会对我有帮助吗?

1 个答案:

答案 0 :(得分:0)

需要很长时间, 我认为你输出.sql是最好的,而不是那里的trans-code将latin1替换为utf8,然后在temp表中导回。最后换掉他们的名字。