Mysql 数据库字符集转换及版本升/降级教程
2007-05-29 10:58:43 来源:WEB开发网如果我们只想使用gbk字符集存储和获取数据,
我们在编译mysql 4.1和 5.0的时候,需要注意在my.ini或者my.cnf中添加两处参数
CODE:
[mysqld]
default-character-set=utf8
CODE:#settings for clients (connection, results, clients)
[mysql]
default-character-set=utf8
下面我们来说主题,如何转换数据库字符集
两种方法,
QUOTE:
第一种----更改存储字符集
主要的思想就是把数据库的字符集有latin1改为gbk,big5,或者utf8; 以下操作必须拥有主机权限。假设当前操作的数据库名为:database
导出
首先需要把数据导为mysql4.0的格式,具体的命令如下:
mysqldump -uroot -p --default-character-set=latin1 --set-charset=gbk --skip-opt databse > d4.sql
mysqldump的参数参照:
MySql数据库备份mysqldump参数选项
--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%,真是郁闷
QUOTE:
另外一种其实原理相同,但是需要手动操作,一般用于第一种方法失败后的选择
更多精彩
赞助商链接