数据库编码转换 GBK------>UTF8。
1.导出4.0兼容sql文件,其中latin1是原来数据库的编码,--extended-insert=FALSE是为了导出为多行Insert,不然可能因为Insert语句过长出错;
2.建立目标数据库,设置其字符集编码为utf8_general_ci
3.导入到指定库,gb2312是输入文件用的编码类型,原来数据库使用latin编码,但存储数据的时候是用gb2312,其间mysql会对其进行转换,所以导出的时候用的是latin编码,但是其中的内容其实是gb2312的,所以导入的时候采用gb2312编码,数据会通过mysql自己把gb2312转成utf8,这样进到数据库中的数据就是utf8的了。
mysql -uroot -p --default-character-set=gb2312 test2 < d:/bak.sql
这里gb2312改为gbk亦可
(判断方法:在phpmyadmin底下看到的内容没有乱码)。
经过验证1G数据导出约10分钟不到 字符替换10分钟不到,导入约半小时。
此命令同时适合unix系统.
适用于所有mysql数据的编码转换。