当前位置: 首页 > 图文教程 > 数据库 > MYSQL > MySQL 4.1数据库中数据转换注意事项

MYSQL
MySQL忘记密码恢复密码的实现方法
mysql 时间转换函数的使用方法
使用mysql的disctinct group by查询不重复记录
mysql备份恢复mysqldump.exe几个常用用例
超详细mysql left join,right join,inner join用法分析
mysql 5.0.67最新版替代MySQL 5.0.51b版本官方下载
比较详细的MySQL字段类型说明
mysql 记录不存在时插入 记录存在则更新的实现方法
MYSQL基础之连接MYSQL、修改密码、添加用户
mysql数据库优化必会的几个参数中文解释
mysql中文排序注意事项与实现方法
MySQL 5.0触发器参考教程
MySQL5创建存储过程的示例
MYSQL5 masterslave数据同步配置方法
mysql数据库导出xml的实现方法
MySql增加用户、授权、修改密码等语句
Mysql默认设置的危险性分析
用MySQL创建数据库和数据库表代码
Mysql如何避免全表扫描的方法
mysql的校对规则引起的问题分析

MYSQL 中的 MySQL 4.1数据库中数据转换注意事项


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 80 ::
收藏到网摘: n/a

mysql 4.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: You have an error

in your SQL syntax; check the ma

nual that corresponds to your MySQL server version

for the right syntax to use n

ear ‘???

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_

SET_CLIENT */’ at line 1

3、重新建mysql库,然后导入备份的sql语句,导入命令如下:

mysql -u -p database < dumpdata.sql

4、如果是以前导出的文件,导入的时候遇到错误:

Got a packet bigger than ‘max_allowed_packet’ bytes

or

ERROR 1153 (08S01) at line 616: Got a packet

bigger than ‘max_allowed_packet’ bytes

就需要修改mysql的最大允许包大小了,编辑my.ini,在[mysqld]部分(不在这部分没用)添加一句:

set-variable=max_allowed_packet=10485760

重启mysql服务就可以了,我这里设置的是大约10MB。到这里数据导入基本就完成了,接下来就是根据各个应用的不同来调整了,一般有的系统已经支持了,但还有的不支持,不过调整方法大概分以下几类:

1、在数据库连接后面加上

mysql_connect(….

mysql_query(”set names ‘utf8′”);

这种情况最多,比如Brim什么的。

2、将语言文件或模板文件的编码设置为utf-8,注意是直接把文件编码转换了就可以,内容不用管,这样的有phpwind, mantis。使用工具可以是iconv,在这里可以下载。

iconv -f gb2312 -t utf-8 gb2312.html > utf-8.html

3、修改模板文件,设置HTML中的

 

原先是gb2312编码的系统多半需要改这个。