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

时间:2024-05-11 09:19:05 

一直不用这个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那样国际化就好了。

标签:mysql,phpmyadmin,中文乱码
0
投稿

猜你喜欢

  • 一文带你了解Go语言中的指针和结构体

    2024-04-25 15:26:20
  • SOSO地图API使用(一)在地图上画圆实现思路与代码

    2024-04-10 13:54:07
  • 关于Matplotlib绘制动态实时曲线的方法改进指南

    2021-03-17 23:48:10
  • vue获取input值的三种常用写法

    2024-04-28 09:27:06
  • Oracle 数据库操作技巧集

    2010-07-26 12:49:00
  • 推荐个辅助软件FastStone Capture

    2008-12-23 13:23:00
  • php实现mysql备份恢复分卷处理的方法

    2023-11-16 20:55:33
  • sql语句中单引号嵌套问题(一定要避免直接嵌套)

    2024-01-16 14:48:52
  • Django实现前台上传并显示图片功能

    2022-04-05 19:49:39
  • docker下mysql 8.0.20 安装配置方法图文教程

    2024-01-19 05:02:39
  • python绘图模块之利用turtle画图

    2022-08-13 01:17:19
  • python实现文件分片上传的接口自动化

    2022-06-29 03:39:41
  • windows下Virtualenvwrapper安装教程

    2023-11-08 02:15:20
  • PyTorch一小时掌握之图像识别实战篇

    2023-01-28 00:08:01
  • Python的flask常用函数route()

    2023-03-10 09:54:39
  • go variant底层原理深入解析

    2024-05-22 17:45:08
  • 常用的9个JavaScript图表库详解

    2024-04-22 22:34:52
  • 在django项目中,如何单独运行某个python文件

    2023-04-27 07:37:22
  • Python实现快速排序的方法详解

    2022-08-29 13:08:35
  • 利用matplotlib+numpy绘制多种绘图的方法实例

    2021-02-24 14:10:07
  • asp之家 网络编程 m.aspxhome.com