在mysql导入导出数据时经常出现中文乱码的问题,大多是因类导入导出时编码设置不一致所引起的。本文介绍了不同平台下的编码转换方法,供大家参考。

在linux系统中默认的是utf8编码,而windows是gbk编码,如果在这二个系统间导入未经指定编码的数据,就会出现乱码。

首先,确定导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8,

例如:

mysqldump -uroot -p --default-character-set=utf8 dbname tablename > bak.sql

那么导入数据时也要使用--default-character-set=utf8:

mysql -uroot -p --default-character-set=utf8 dbname < bak.sql

统一编码后,mysql数据迁移中的乱码问题就解决了。

使用windows作为导出数据源,并导入 freebsd环境下的mysql库,解决方法详解。

导出数据

一、首先,在windows平台下mysql用作导出数据库源。

查看字符编码的系统变量:

代码示例:

mysql> show variables like ‘%char%';

+————————–+—————————-+

| Variable_name | Value |

+————————–+—————————-+

| character_set_client | latin1 |

| character_set_connection | latin1 |

| character_set_database | latin1 |

| character_set_filesystem | binary |

| character_set_results | latin1 |

| character_set_server | gbk |

| character_set_system | utf8 |

| character_sets_dir | D:mysqlsharecharsets |

+————————–+—————————-+

查看character_set_database,这里是latin1,latin1是装不了多字节字符集的。

二、在windows下设置系统变量为utf8

mysql>set character_set_database=utf8; ##设置默认的字符集为utf8

三、导出数据

mysql> select * from table into outfile ‘c:table.txt' where +条件

这时导出了部分数据,并以txt文件存在 table.txt中。

导入数据

在freebsd平台下

一、同样设置字符编码的系统变量

代码示例:

mysql> show variables like ‘%char%';

+————————–+—————————-+

| Variable_name | Value |

+————————–+—————————-+

| character_set_client | latin1 |

| character_set_connection | latin1 |

| character_set_database | latin1 |

| character_set_filesystem | binary |

| character_set_results | latin1 |

| character_set_server | gbk |

| character_set_system | utf8 |

+————————–+—————————-+

mysql>set character_set_database=utf8; ##设置默认的字符集为utf8

二、转载数据

mysql>load data local infile ‘/home/table.txt' into table `table`;

至此、条件数据完整导入导出,并处理了乱码的情况。

总之,两台mysql服务器导入导出时,一定要确保两台服务器的character_set_database参数相同,这样才能防止一些乱码的情况。当然我们还可以使用其他字符集,如gbk来进行调整。

解决方法三

乱码解决方法

导入数据后,在命令行查看发现中文乱码

使用以下命令查看系统字符集

show variables like 'char%';

如果不是GBK或UTF8,则停止mysql服务,然后到安装目录修改my.ini文件,

将文件中下面的变量改成如下,如果没有这个变量则增加这些变量

[mysql]

default-character-set=gbk

[mysqld]

character-set-server=utf8

重新启动服务,重新导入数据,如果还乱码,只要把导入与导出编码统一即可解决问题。

更多信息请查看IT技术专栏

mysql数据库导出后乱码问题_MySQL导入导出数据出现乱码的解决办法相关推荐

  1. 记一次mysql数据库转储sql文件到另外一台电脑运行失败的解决办法

    记一次mysql数据库转储sql文件到另外一台电脑运行失败的解决办法 将转储的sql文件中创建触发器相关的语句剪切复制到另外的一份文本,保存重新运行sql文件,成功后在把之前剪切的语句复制过来在运行一 ...

  2. mysql 中函数如何转存_mysql 导入导出数据库以及函数、存储过程 【转】

    MySQL常用导出数据命令: 1.mysql导出整个数据库 mysqldump -hhostname -uusername -ppassword databasename > backupfil ...

  3. STATA导入excel数据为红色的解决办法

    方法一:创建新的符合格式的变量(方法二更简单) *如果Stata可以直接打开你的数据表格的话就直接打开,不能的话就用import导入excel表格 describe //可以看到数据格式是str,文本 ...

  4. mysql数据库的后_MySQL数据库误删后的回复技巧

    在日常运维工作中,对于数据库的备份是至关重要的!数据库对于网站的重要性使得我们对 MySQL 数据库的管理不容有失!然而是人总难免会犯错误,说不定哪天大脑短路了,误操作把数据库给删除了,怎么办? 下面 ...

  5. mysql数据库误删后能恢复吗_MySQL 数据库误删除后的数据恢复

    MySQL 数据库误删除后的数据恢复 MySQL 数据库误删除后的数据恢复 在日常运维工作中,对于数据库的备份是至关重要的!数据库对于网站的重要性使得我们对 MySQL 数据库的管理不容有失! 然而是 ...

  6. 把服务器sql数据库导出excel文件,将mysql数据库数据以Excel文件的形式导出

    最近在工作中,领导让从数据库中导出一些数据并存放到Excel表格中,网上有许多教程,下面是我总结的其中俩种方法. 从数据库管理工具中导出(navicat) 在navicat导出数据导Excel中还是比 ...

  7. 关于mysql数据库误删除后的数据恢复操作说明

    在日常运维工作中,对于mysql数据库mysql数据库mysql数据库的备份是至关重要的!数据库对于网站的重要性使得我们对mysql数据的管理不容有失! 然后,是人总难免会犯错误,说不定哪天大脑短路了 ...

  8. mysql数据库怎么安装建表_mysql数据库安装及建表注意事项

    在使用mysql数据库的时候,难免会遇到插入中文出现"data too long for....."的错误,这个其实不是字段值设置太小的原因,而恰恰是数据库编码和创建数据库实例时设 ...

  9. mysql sleep详解_mysql sleep链接过多的原因及解决办法

    今天收到运维同事短信,说有个线上业务"可能是数据库DB堵塞了,导致mysql链接过多,让我看一下". 回家后赶紧用家里vpn登录数据库服务器,show processlist 看了 ...

最新文章

  1. Gartner2018新技术成熟度曲线:五大技术趋势成为新热点
  2. 014_html折行
  3. mysql 普通sql流程控制,【mysql的编程专题①】流程控制与其他语法
  4. DATA URI schema(data:base64)协议常用数据格式
  5. 如何使用Webpack在HTML,CSS和JavaScript之间共享变量
  6. CCF201604-1 折点计数
  7. 扫盲:Java 后端开发常用的 10 种第三方服务
  8. python算法爬楼梯
  9. 亲测~Win10开启系统自带Wifi热点步骤
  10. 共享单车信息系统服务器部署,共享单车云服务器搭建
  11. 织梦会员中心注册登录
  12. 2021年茶艺师(中级)考试报名及茶艺师(中级)免费试题
  13. 编写训练一年级学生10以内减法的程序
  14. 前端下载文件(exe,zip,js等)的几种方式
  15. arm linux免驱usb声卡,arm linux利用alsa驱动并使用usb音频设备
  16. java版wifi下载电脑版_360wifi下载
  17. 就在刚刚,陆奇博士演讲《正视挑战把握创业创新机会》
  18. 【Unity】摄像机常用设置
  19. Windows 环境下查看 Redis 版本号命令
  20. DMitry --多功能信息收集工具

热门文章

  1. 相参、相参积累和相参雷达
  2. 分布式加载数据训练神经网络
  3. PostgreSQL Oracle 兼容性之 - PL/SQL DETERMINISTIC 与PG函数稳定性(immutable, stable, volatile)...
  4. validate做前端表单验证
  5. VS asp.net 连接64位oracle 11g
  6. winform代码:关联窗体数据更新,删除dataGridview中选中的一行或多行
  7. [CareerCup] 17.6 Sort Array 排列数组
  8. 【VMCloud云平台】私有云门户第一朵Web云(一)
  9. “undefined reference to JNI_GetCreatedJavaVM”和“File format not recognized”错误原因分析...
  10. ScribeFireBlog 发的一篇在Cnblogs的日志