快速业务通道

Mysql 数据库字符集转换及版本升级/降级的详细教程

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-03-17
转换数据库字符集
两种方法,


QUOTE:
第一种----更改存储字符集
主要的思想就是把数据库的字符集有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%,真是郁闷

 


QUOTE:
另外一种其实原理相同,但是需要手动操作,一般用于第一种方法失败后的选择
不过这种方法如果数据库很大,估计很难做,因为光打开文件就能让你死机

首先还是用phpmyadmin或者用mysql本身的dump导出 .sql文件

然后用UltraEdit打开你备份的所有xxxx.sql文件,查找


[Copy to clipboard] [ - ]
CODE:
DEFAULT CHARSET=latin1

latin1这里也许是别的,反正是你不想要的,要转成gbk或者big5的字符集
把这个替换为“空”
在查找


[Copy to clipboard] [ - ]
CODE:
CREATE TABLE cdb_sessions (
  sid char(6) character set latin1 collate latin1_bin NOT NULL default '''',
  ip1 tinyint(3) unsigned NOT NULL default ''0'',
  ip2 tinyint(3) unsigned NOT NULL default ''0'',
  ip3 tinyint(3) unsigned NOT NULL default ''0'',
  ip4 tinyint(3) unsigned NOT NULL default ''0'',
  uid mediumint(8) unsigned NOT NULL default ''0'',
  username char(15) NOT NULL default '''',
  groupid smallint(6) unsigned NOT NULL default ''0'',
  styleid smallint(6) unsigned NOT NULL default ''0'',
  invisible tinyint(1) NOT NULL default ''0'',
  `action` tinyint(1) unsigned NOT NULL default ''0'',
  lastactivity int(10) unsigned NOT NUL

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号