2012-07-31 81 views
0

我有一个有latin1表的mysql数据库。我需要将每个列,表格等转换为utf-8。具体来说:将latin1数据库转换为utf-8

Encoding: UTF-8 
Collation: utf8_general_ci (or utf-8's default) 

什么是最快捷的方式来做这些彻底的改变我的数据库?

+0

它的表有多少行? – rcdmk 2012-07-31 00:11:25

+1

可以用'alter table'来做:http://dev.mysql.com/doc/refman/5.1/en/alter-table.html – zerkms 2012-07-31 00:24:59

+0

非常好的一点!更多阅读:https://dev.mysql.com/doc/refman/5.0/en/charset-conversion.html – spacediver 2012-07-31 00:40:24

回答

1

mysqldump,然后编辑您的转储,替换您的表和列的编码说明符(并在标头SET NAMES命令中保留转储编码),然后返回mysql

+0

你需要'iconv'作什么? – zerkms 2012-07-31 00:17:14

+0

将数据latin1转换为UTF-8。我想初始数据编码是正确指定的。 – spacediver 2012-07-31 00:19:19

+0

如果初始数据编码正确并且数据没有被破坏 - 您不需要转换它。只需在表定义中更改编码,mysql将执行左侧操作。转储的当前编码仅影响客户端(连接)编码。所以你可以使用任何你想要的编码。执行'iconv'可能会破坏所有的OP ;-) – zerkms 2012-07-31 00:20:08

相关问题