>  기사  >  데이터 베이스  >  MySQL 4.1 数据转换的指导

MySQL 4.1 数据转换的指导

WBOY
WBOY원래의
2016-06-07 16:13:541067검색

以下的文章主要是对MySQL 4.1 数据的转换指南描述,以下就是文章对MySQL 4.1 数据的转换指南描述详细内容介绍,希望在你今后的学习中会有所帮助。我们大家都知道MySQL(和PHP搭配之最佳组合) 4.1增加了编码的支持。 所以在转换旧数据的时候稍微麻烦一些,但只

以下的文章主要是对MySQL 4.1 数据的转换指南描述,以下就是文章对MySQL 4.1 数据的转换指南描述详细内容介绍,希望在你今后的学习中会有所帮助。我们大家都知道MySQL(和PHP搭配之最佳组合) 4.1增加了编码的支持。

所以在转换旧数据的时候稍微麻烦一些,但只要注意以下几点,基本没问题的:

1、MySQL 4.1 数据转换指南一转换之前一定要先把原有数据dump出来

一般原有数据都是gb2312编码吧,dump命令如下:

MySQL(和PHP搭配之最佳组合)dump -u -p database –add-drop-table –extended-insert

–add-drop-table是为了导入的时候省去建表环节,–extended-insert是为了防止在导入的时候一个sql语句过大的情况,想想你的上千条记录写在一条sql语句中是多么的恐怖。

这里假定原有数据库是gb2312编码,需要转换为utf8编码,其它编码之间的转换类似。

2、MySQL 4.1 数据转换指南之二修改dump出来的sql文件

用Emeditor或iconv把文件的编码转换为utf-8,注意最好不要那个什么“Unicode Signature(BOM)”,因为MySQL(和PHP搭配之最佳组合).exe不认的。再把文件中的gbk_bin替换为utf8_general_ci,把gbk替换为 utf8,然后在文件最前面加上
set names utf8;

带上BOM,MySQL(和PHP搭配之最佳组合)不识别的错误大体如下:
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the ma
nual that corresponds to your MySQL(和PHP搭配之最佳组合) server version for the right syntax to use n
ear ‘???
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */’ at line 1

3、重新建MySQL4.1库,然后导入备份的sql语句,导入命令如下:
MySQL(和PHP搭配之最佳组合) -u -p database

4、MySQL 4.1 数据转换指南之四如果是以前导出的文件,导入的时候遇到错误:
Got a packet bigger than ‘max_allowed_packet’ bytes
or
ERROR 1153 (08S01) at line 616: Got a packet bigger than ‘max_allowed_packet’ by
tes

就需要修改MySQL(和PHP搭配之最佳组合)的最大允许包大小了,编辑my.ini,在[MySQL(和PHP搭配之最佳组合)d]部分(不在这部分没用)添加一句:
set-variable=max_allowed_packet=10485760

重启MySQL(和PHP搭配之最佳组合)服务就可以了,我这里设置的是大约10M。

到这里数据导入基本就完成了,接下来就是根据各个应用的不同来调整了,一般有的系统已经支持了,但还有的不支持,不过调整方法大概分以下几类:

1、在数据库连接后面加上
MySQL(和PHP搭配之最佳组合)_connect(….
MySQL和PHP搭配之最佳组合)_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编码的系统多半需要改这个。

以上的相关内容就是对MySQL 4.1 数据转换指南的介绍,望你能有所收获。


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.