我有一个有latin1
表的mysql数据库。我需要将每个列,表格等转换为utf-8。具体来说:将latin1数据库转换为utf-8
Encoding: UTF-8
Collation: utf8_general_ci (or utf-8's default)
什么是最快捷的方式来做这些彻底的改变我的数据库?
我有一个有latin1
表的mysql数据库。我需要将每个列,表格等转换为utf-8。具体来说:将latin1数据库转换为utf-8
Encoding: UTF-8
Collation: utf8_general_ci (or utf-8's default)
什么是最快捷的方式来做这些彻底的改变我的数据库?
mysqldump
,然后编辑您的转储,替换您的表和列的编码说明符(并在标头SET NAMES
命令中保留转储编码),然后返回mysql
。
你需要'iconv'作什么? – zerkms 2012-07-31 00:17:14
将数据latin1转换为UTF-8。我想初始数据编码是正确指定的。 – spacediver 2012-07-31 00:19:19
如果初始数据编码正确并且数据没有被破坏 - 您不需要转换它。只需在表定义中更改编码,mysql将执行左侧操作。转储的当前编码仅影响客户端(连接)编码。所以你可以使用任何你想要的编码。执行'iconv'可能会破坏所有的OP ;-) – zerkms 2012-07-31 00:20:08
它的表有多少行? – rcdmk 2012-07-31 00:11:25
可以用'alter table'来做:http://dev.mysql.com/doc/refman/5.1/en/alter-table.html – zerkms 2012-07-31 00:24:59
非常好的一点!更多阅读:https://dev.mysql.com/doc/refman/5.0/en/charset-conversion.html – spacediver 2012-07-31 00:40:24