第一种—-更改存储字符集
主要的思想就是把数据库的字符集有latin1改为gbk,big5,或者utf8;
以下操作必须拥有主机权限。假设当前操作的数据库名为:database

导出
首先需要把数据导为mysql4.0的格式,具体的命令如下:
mysqldump -uroot -p –default-character-set=latin1
–set-charset=gbk –skip-opt databse > d4.sql

–default-characte-set 以前数据库的字符集,这个一般情况下都是latin1的,
–set-charset 导出的数据的字符集,这个可以设置为gbk,utf8,或者big5
导入
首先使用下面语句新建一个GBK字符集的数据库(test)

CREATE DATABASE `d4` DEFAULT CHARACTER SET gbk COLLATE
gbk_chinese_ci;
然后把刚才导出的数据导入到当前的数据库中就ok了。

mysql -uroot -p –default-character-set=gbk -f
d4<d4.sql
通过以上的导出和导入就把数据库的字符集改为正确的存储方式了。

其中d4为新建库的名称,d4.sql为导出文件的名字

但是这种方法,发现数据库数据存储量无端变大30%,真是郁闷

作者 龙飞