网站大量收购独家精品文档,联系QQ:2885784924

快速进行Access数据库转成mysql数据库及mysql导入中文数据乱码问题的解决方案.docx

快速进行Access数据库转成mysql数据库及mysql导入中文数据乱码问题的解决方案.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
快速进行Access数据库转成mysql数据库及mysql导入中文数据乱码问题的解决方案 一、Access-to-mysql pro Access-to-mysql pro是一个可以直接将Access文件导入mysql中的软件,其基本用法参见了某人的某文如下: 这个要用到 Access-to-MySQL Pro 这个软件。网上有下载,并且有破解版的。 问题是如果直接用它来把ACCESS文件导入MYSQL会出现乱码。所以我试下以下方法,虽然麻烦点,但是还可是可行。 5.1 用Access-to-MySQL Pro来把数据库导出为*.sql 文件。 A) 运行Access-to-MySQL Pro的时候选ADVANCE MODE,下一步; B) 选择STORE into  dump file, 就是保存为*.sql文件,下一步; C) 选择目标MYSQL的版本,选默认值,下一步; D) 这下要选MS ACCESS USER-LEVElL SECURITY FILE,这个文件一般在你的OFFICE安装目录下。我的是在G:\Program Files\Microsoft Office\Office\SYSTEM.MDW , 用户名填 ADMIN , 下一步; E) 选择你要转换的ACCESS MDB文件以及保存路径,点下一步,就可以生成.sql 文件了。我生成的是C:\test.sql。 5.2 把刚才生成的文件转成UTF-8格式。 用记事本打开这个文件,选另存为,编码选UTF-8,覆盖保存就OK了。 5.3 在MYSQL导入该文件 我不在phpMyAdmin导入文件是因为phpMyAdmin默认只能导入17M的文件。懒得改相应的设置,MYSQL命令行方便些。 进入DOS窗口,转到MYSQL安装目录的BIN子目录下。我这里是G:\Program Files\xapp\xampp\mysql\bin. A) mysql -uroot -p   password:这里输入密码 B) CREATE DATABASE hewang; C) use hewang; E) source c:\test.sql; 有可能会出现错误提示音,不管他,等它再次出现提示符的时候,导入成功。我用这种方法导入一个50M的文件没有问题,只是提示音响了十分钟。 可以在phpMyAdmin下查看数据是否正确,如果没有乱码就OK了。 二、关于数据导入mysql时的乱码的解决方案 当然上文是基于php下的乱码解决方案,我在MySQL Command Line Client下使用source c:\test.sql时导入有中文字串的字段值的时候,从SQL Manager中查看记录都是乱码。我的解决方案如下: 由Access-to-mysql生成的sql文件中有类似如下文本内容: CREATE TABLE `userinfo` ( `id` INT NOT NULL AUTO_INCREMENT, `name` VARCHAR(50), pwd VARCHAR(20), PRIMARY KEY (`id`) ) TYPE=InnoDB; 注意红色的文本,修改成如下: CREATE TABLE `userinfo` ( `id` INT NOT NULL AUTO_INCREMENT, `name` VARCHAR(50), pwd VARCHAR(20), PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312; 接下来,还要在文件中的LOCK TABLES `userinfo` WRITE;后面,INSERT INTO `userinfo`....文本的前面增加如下一行,如下: LOCK TABLES `userinfo` WRITE; SET NAMES gb2312; INSERT INTO `userinfo` VALUES 这样修改这个文件以后,还要将它以ANSI编码重新保存。这样操作以后,在MySQL Command Line Client中使用source test.sql后导入mysql数据的字串都是正确的了。并且,所有文本相关的编码也都是gb2312的编码。

文档评论(0)

勤能补拙 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档