实战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 相关文章推荐
Apache, PHP在Windows 9x/NT下的安装与配置 (一)
Oct 09 PHP
PHP获取类中常量,属性,及方法列表的方法
Apr 09 PHP
Ajax实时验证用户名/邮箱等是否已经存在的代码打包
Dec 01 PHP
php 模拟POST提交的2种方法详解
Jun 17 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
Jun 26 PHP
又一个PHP实现的冒泡排序算法分享
Aug 21 PHP
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
Oct 26 PHP
php写一个函数,实现扫描并打印出自定目录下(含子目录)所有jpg文件名
May 26 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
Mar 30 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
Mar 07 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
Oct 30 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
Feb 21 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 5.0创建图形的巧妙方法
2010/10/12 PHP
让CodeIgniter数据库缓存自动过期的处理的方法
2014/06/12 PHP
PHP动态编译出现Cannot find autoconf的解决方法
2014/11/05 PHP
PHP的Yii框架中View视图的使用进阶
2016/03/29 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
laravel框架分组控制器和分组路由实现方法示例
2020/01/25 PHP
jQuery的写法不同导致的兼容性问题的解决方法
2010/07/29 Javascript
JavaScript模拟重力状态下抛物运动的方法
2015/03/03 Javascript
基于CSS3和jQuery实现跟随鼠标方位的Hover特效
2016/07/25 Javascript
AngularJs每天学习之总体介绍
2017/08/07 Javascript
JS+jQuery实现注册信息的验证功能
2017/09/26 jQuery
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
详解vue项目的构建,打包,发布全过程
2017/11/23 Javascript
JavaScript的Object.defineProperty详解
2018/07/09 Javascript
Vue监听一个数组id是否与另一个数组id相同的方法
2018/09/26 Javascript
vue学习笔记之作用域插槽实例分析
2020/02/01 Javascript
[01:13:17]Secret vs NB 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[03:08]迎霜节狂欢!2018年迎霜节珍藏Ⅰ一览
2018/12/25 DOTA
python使用socket向客户端发送数据的方法
2015/04/29 Python
Python温度转换实例分析
2018/01/17 Python
python与caffe改变通道顺序的方法
2018/08/04 Python
python3爬虫怎样构建请求header
2018/12/23 Python
Flask框架学习笔记之模板操作实例详解
2019/08/15 Python
pytorch中的卷积和池化计算方式详解
2020/01/03 Python
使用Python爬取弹出窗口信息的实例
2020/03/14 Python
Django URL参数Template反向解析
2020/11/24 Python
HTML5+Canvas+CSS3实现齐天大圣孙悟空腾云驾雾效果
2016/04/26 HTML / CSS
介绍一下Make? 为什么使用make
2013/12/08 面试题
北京振戎融通Java面试题
2015/09/03 面试题
感恩教育月活动总结
2014/07/07 职场文书
党支部书记四风问题整改措施
2014/09/24 职场文书
无房产证房屋转让协议书合同样本
2014/10/18 职场文书
见习报告格式要求
2014/11/04 职场文书
2015年党务公开工作总结
2015/05/19 职场文书
电影地道战观后感
2015/06/04 职场文书
Pytest中skip和skipif的具体使用方法
2021/06/30 Python