实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法


Posted in PHP onJune 11, 2010

一直不用这个phpmyadmin,在本机也是用navicat,总感觉phpmyadmin速度较慢。这回不行了,没有独立主机,只好用人家给的phpmyadmin了。

第一步:本地数据导出sql文件。心想这对于navicat小事一桩。直接在数据库上右键“转储sql”(如图1),哗哗,十几秒的时间导出成功。

实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法

图1:navicat下对整个数据库转sql

用记事本打开一看,傻眼了。中文全是乱码。咋回事呢?搜索了一下,改变什么连接属性啥的。不管用。试着在单张表上,转储sql,嘿,中文正常。但是82个表,我一个个转储我不累死。不行。看来只能弃用我心爱的navicat了。想起有个mysqldump,好试试它。运行-C:\Documents and Settings\Administrator>mysqldump -uroot -p123  ttg>ttgbk2.sql。打开一看,还是乱码。还不行。唉。。搜索,改成下面的加上指定字符集

C:\Documents and Settings\Administrator>mysqldump -uroot -p123 --default-character-set=gbk ttg>ttgbk2.sql。打开看看。嘿可以了。

 

第二步:打开虚拟主机提供的phpmyadmin.导入选择文件ttgbk2.sql.点执行。那个速度,唉。。。一会儿报错了。在执行lock tables tablename write 时出现access denied错误,原来我是虚拟主机用户没有 lock tables的权限.打开sql一看还真有lock tables 选项。没权限那就不用这个。到网上一搜说加上--skip-lock-tables,心想不错,应该是这个“跳过锁表”嘛

在mysqldump时加上-skip-lock-tables选项,那么命令行就变成
C:\Documents and Settings\Administrator>mysqldump -uroot -p123 --default-character-set=gbk --skip-lock-tables ttg>ttgbk3.sql.
结果令人失望,还是有lock tables.
后来看了一下mysqldump --help
才明白--skip-lock-tables是用在备份时候不让读写。但是如果你不想让导出的带lock-tables(因为你导入的时候没有权限嘛,呵呵)应该是使用add-locks=false,这是2个概念。正确的如下
C:\Documents and Settings\Administrator>mysqldump -uroot -p123 --default-character-set=gbk ttg --add-locks=false>ttgttg3.sql.

我的版本导出的在记事本中打开是asni格式的。

再次到phpmyadmin处导入。结果是导入了3个表后报错。mysql语句报错。一看中文还乱码。。。。。接近崩溃。

再找原因。把“MySQL 连接校对”改成gbk-chinese-ci,把language改成中文-chinese simplified(如图2)。再把导入时“文件编码”改成“gbk”(默认的是utf-8,当然对应的sql文件的编码用记事本打开就是ansi.)(如图三).再试。。。。

 

 

实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法

图二:修改连接校对及language

 

实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法

(图三:修改文件的字符集为gbk)

 

终于所有表导入成功。打开一个含有中文的表,字段显示正常。

2点体会:

1、数据库编码归数据库编码。保证连接校对与数据库编码一致即可。

2、sql文件编码归文件编码。保证导入时选择的文件编码与数据库所用编码一致最好。

这是2个编码问题。

服了你了mysql.从知道你有这个编码问题到到现在,你还是这个样子。这个问题还是让很多人困惑。啥时候像sqlserver那样国际化就好了。

PHP 相关文章推荐
随机广告显示(PHP函数)
Oct 09 PHP
php面向对象全攻略 (一) 面向对象基础知识
Sep 30 PHP
PHP 函数执行效率的小比较
Oct 17 PHP
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
Aug 02 PHP
编写php应用程序实现摘要式身份验证的方法详解
Jun 08 PHP
ThinkPHP控制器间实现相互调用的方法
Oct 31 PHP
php禁止直接从浏览器输入地址访问.php文件的方法
Nov 04 PHP
php禁止浏览器使用缓存页面的方法
Nov 07 PHP
php生成圆角图片的方法
Apr 07 PHP
什么是OneThink oneThink后台添加插件步骤
Apr 13 PHP
详解PHP编码转换函数应用技巧
Oct 22 PHP
PHP使用HTML5 FormData对象提交表单操作示例
Jul 02 PHP
Php获取金书网的书名的实现代码
Jun 11 #PHP
PHP中json_encode、json_decode与serialize、unserialize的性能测试分析
Jun 09 #PHP
php网站来路获取代码(针对搜索引擎)
Jun 08 #PHP
php数组对百万数据进行排除重复数据的实现代码
Jun 08 #PHP
腾讯QQ php程序员面试题目整理
Jun 08 #PHP
php 上传文件类型判断函数(避免上传漏洞 )
Jun 08 #PHP
php的字符串用法小结
Jun 08 #PHP
You might like
PHP curl_setopt()函数实例代码与参数分析
2011/06/02 PHP
基于MooTools的很有创意的滚动条时钟动画
2010/11/14 Javascript
点击隐藏页面左栏或右栏实现js代码
2013/04/01 Javascript
把jquery 的dialog和ztree结合实现步骤
2013/08/02 Javascript
JavaScript弹出新窗口后向父窗口输出内容的方法
2015/04/06 Javascript
js实现内容显示并使用json传输数据
2016/03/16 Javascript
微信小程序小组件 基于Canvas实现直播点赞气泡效果
2020/05/29 Javascript
EasyUI的DataGrid绑定Json数据源的示例代码
2017/12/16 Javascript
Vue中在新窗口打开页面及Vue-router的使用
2018/06/13 Javascript
Angular6新特性之Angular Material
2018/12/28 Javascript
简单了解JavaScript弹窗实现代码
2020/05/07 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
2020/06/04 Javascript
python错误处理详解
2014/09/28 Python
python遍历 truple list dictionary的几种方法总结
2016/09/11 Python
NLTK 3.2.4 环境搭建教程
2018/09/19 Python
对pandas处理json数据的方法详解
2019/02/08 Python
django 微信网页授权登陆的实现
2019/07/30 Python
python 实现Harris角点检测算法
2020/12/11 Python
CSS3+Sprite实现僵尸行走动画特效源码
2016/01/27 HTML / CSS
详解CSS3新增的背景属性
2019/12/25 HTML / CSS
Superdry极度乾燥官网:日本街头风格,纯英国制造品牌
2016/10/31 全球购物
雅诗兰黛(Estee Lauder)英国官方网站:世界顶级化妆品牌
2016/12/29 全球购物
Casadei卡萨蒂官网:意大利奢侈鞋履品牌
2017/10/28 全球购物
英国异国风情旅游网站:Travel Talk Tours(团体旅游、探险旅游、帆船假期)
2018/07/26 全球购物
毕业自我鉴定范文
2013/11/06 职场文书
企业新年寄语
2014/04/04 职场文书
《欢乐的泼水节》教学反思
2014/04/22 职场文书
大学生应聘求职信
2014/05/26 职场文书
道路施工安全责任书
2014/07/24 职场文书
党员演讲稿
2014/09/04 职场文书
七一建党节演讲稿
2014/09/11 职场文书
私人房屋买卖协议书
2014/10/04 职场文书
农村党建工作汇报材料
2014/10/27 职场文书
英文邀请函
2015/02/02 职场文书
PHP对接阿里云虚拟号的实现(号码隐私保护)
2021/04/06 PHP
Python内置数据类型中的集合详解
2022/03/18 Python