网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 数据库技术 > Mysql > 安装&技术 > MySQL 4.1 数据如何转换详细讲解  

MySQL 4.1 数据如何转换详细讲解

2007-04-20  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

  MySQL4.1增加了编码的支持,所以在转换旧数据的时候稍微麻烦一些,但只要注意以下几点,基本没问题的: 网管论坛bbs_bitsCN_com

  1、转换之前一定要先把原有数据dump出来,一般原有数据都是gb2312编码吧,dump命令如下: 网管联盟bitsCN@com


  MySQLdump -u -p database –add-drop-table –extended-insert

网管论坛bbs_bitsCN_com

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

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

中国网管论坛bbs.bitsCN.com

  2、修改dump出来的sql文件,用Emeditor或iconv把文件的编码转换为utf-8,注意最好不要那个什么“Unicode Signature(BOM)”,因为MySQL.exe不认的。再把文件中的gbk_bin替换为utf8_general_ci,把gbk替换为 utf8,然后在文件最前面加上: 网管联盟bitsCN@com

  set names utf8;
中国网管联盟bitsCN.com

  带上BOM,MySQL不识别的错误大体如下: 网管联盟bitsCN_com

  ERROR 1064 (42000) at line 1:
  You have an error in your SQL syntax;
  check the manual that corresponds to your
  MySQL server version for the right syntax to use near ‘???
  /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */’ at line 1
中国网管论坛bbs.bitsCN.com

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

网管u家u.bitscn@com

  mysql -u -p database < dumpdata.sql
网管下载dl.bitscn.com

  4、如果是以前导出的文件,导入的时候遇到错误: 网管下载dl.bitscn.com

  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

网管下载dl.bitscn.com

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

网管u家u.bitsCN.com

  set-variable=max_allowed_packet=10485760
中国网管联盟bitsCN.com

  重启MySQL服务就可以了,我这里设置的是大约10MB。

网管联盟bitsCN@com

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

  1、在数据库连接后面加上 网管u家u.bitsCN.com

  mysql_connect(….
  mysql_query(”set names ‘utf8′”);
网管网www.bitscn.com

  这种情况最多,比如Brim什么的。 网管u家u.bitscn@com

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

  3、修改模板文件,设置HTML中的 中国网管论坛bbs.bitsCN.com

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
网管网www.bitscn.com

  原先是gb2312编码的系统多半需要改这个。 网管联盟bitsCN@com


TAGs   详细   讲解   转换   如何   数据   文件   编码   导入   MySQL   时候      
 上一篇:你应该知道的10个MySQL客户启动选项   下一篇:如何使用ODBC接口访问MySQL
MySQL 4.1 数据如何转换详细讲解 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: