详细讲解MySQL 4.1数据如何转换
MySQL4.1增加了编码的支持,所以在转换旧数据的时候稍微麻烦一些,但只要注意以下几点,基本没问题的: 1、转换之前一定要先把原有数据dump出来,一般原有数据都是gb2312编码吧,dump命令如下: MySQLdump -u -p database –add-drop-table –extended-inser
MySQL4.1增加了编码的支持,所以在转换旧数据的时候稍微麻烦一些,但只要注意以下几点,基本没问题的:
1、转换之前一定要先把原有数据dump出来,一般原有数据都是gb2312编码吧,dump命令如下:
MySQLdump -u -p database –add-drop-table –extended-insert |
–add-drop-table是为了导入的时候省去建表环节,–extended-insert是为了防止在导入的时候一个sql语句过大的情况,想想你的上千条记录写在一条sql语句中是多么的恐怖。
这里假定原有数据库是gb2312编码,需要转换为utf8编码,其它编码之间的转换类似。
2、修改dump出来的sql文件,用Emeditor或iconv把文件的编码转换为utf-8,注意最好不要那个什么“Unicode Signature(BOM)”,因为MySQL.exe不认的。再把文件中的gbk_bin替换为utf8_general_ci,把gbk替换为 utf8,然后在文件最前面加上:
set names utf8;
带上BOM,MySQL不识别的错误大体如下:
ERROR 1064 (42000) at line 1: |
3、重新建MySQL库,然后导入备份的sql语句,导入命令如下:
mysql -u -p database |
4、如果是以前导出的文件,导入的时候遇到错误:
Got a packet bigger than ‘max_allowed_packet’ bytes or |
就需要修改MySQL的最大允许包大小了,编辑my.ini,在[MySQLd]部分(不在这部分没用)添加一句:
set-variable=max_allowed_packet=10485760 |
重启MySQL服务就可以了,我这里设置的是大约10MB。
到这里数据导入基本就完成了,接下来就是根据各个应用的不同来调整了,一般有的系统已经支持了,但还有的不支持,不过调整方法大概分以下几类:
1、在数据库连接后面加上:
mysql_connect(…. |
这种情况最多,比如Brim什么的。
2、将语言文件或模板文件的编码设置为utf-8,注意是直接把文件编码转换了就可以,内容不用管,这样的有phpwind, mantis。使用工具可以是iconv。
3、修改模板文件,设置HTML中的
原先是gb2312编码的系统多半需要改这个。
【相关文章】
- MySQL手动安装方法与中文解决方案
- MySQL数据库中用GRANT语句增添新用户
- MySQL数据库中部分数据损坏恢复过程
上一篇: 图片链接 - 金鸡岭
下一篇: 用ps简单制作一个翻页的效果
推荐阅读
-
MySQL/Postgrsql 详细讲解如何用ODBC接口访问MySQL指南
-
MySQL数据库中CAST与CONVERT函数实现类型转换的讲解
-
MySQL/Postgrsql 详细讲解如何用ODBC接口访问MySQL指南
-
SqlServer数据库如何转换成Mysql的一款工具推荐(mss2sql) 原创
-
MySQL/RDS数据如何同步到MaxCompute之实践讲解 cmysqlpostgresql项目管理
-
MySQL之information_schema数据库详细讲解
-
详细讲解如何用ODBC接口访问MySQL指南_MySQL
-
详细讲解MySQL 4.1数据如何转换_MySQL
-
MySQL/Postgrsql 详细讲解如何用ODBC接口访问MySQL指南
-
详细讲解如何用SQLyog来分析MySQL数据库_MySQL