文档章节

mysql导入导出数据中文乱码解决方法小结

bengozhong
 bengozhong
发布于 2016/05/11 09:31
字数 696
阅读 237
收藏 4

linux系统中

linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题。

解决mysql导入导出数据乱码问题

首先要做的是要确定你导出数据的编码格式,使用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



重新启动服务,重新导入数据,如果还乱码,

最后得出经验时只要把导入与导出编码统一一下就没问题了。

© 著作权归作者所有

bengozhong
粉丝 21
博文 527
码字总数 543045
作品 0
深圳
技术主管
私信 提问
Mysql之数据库导入与导出(中文乱码)-yellowcong

Mysql数据的导入导出,是搞运维的童鞋经常遇到的,我这次遇到的问题,就是导出的数据中文乱码的问题,后来的解决方案是加上的参数,来解决乱码问题。 导出数据库 导出中文字段的表 导出数据库...

yelllowcong
2018/04/13
0
0
关于mysql数据库存储中文乱码的问题

前提 :1数据库和表都是utf8generalci格式2程序代码也是utf-8格式,且使用了mysqlquery("set names utf-8"); 及htmlentities ENTQUOTES,'utf-8' 结果:即使是这样 插入数据库汉字仍然在数据库......

lilugirl
2012/12/07
176
0
再谈乱码问题,如何解决MYSQL数据中文乱码问题

在之前的文章里,我已经提过如何解决JSP中乱码问题(解决tomcat下中文乱码问题 ),其中也详细解说了MYSQL乱码问题,相信通过里面的办法,肯定都已经解决了JSP里的乱码问题,不过还是有些人的...

ly5156
2011/08/12
130
0
5.16监控客户机配置触发器5.17解决中文名称不能写数据库的问题5.18解决图形乱码的问题

5.16监控客户机配置触发器 5.17解决中文名称不能写数据库的问题 5.18解决图形乱码的问题 5.16监控客户机配置触发器 5.17解决中文名称不能写数据库的问题 不支持中文报错 原因是数据库字符集不...

林怡丰
03/10
31
0
mysql导入数据库时出现40101错误解决方法

导入错误:40101 SET @OLDCHARACTERSETCLIENT=@@CHARACTERSET 入的方法: mysqluse test; mysql source c:/test.sql 导入数据时,如果目标数据库或表是UTF-8字符集的,而导入SQL中有中文,可能...

lcdmusic
2015/12/22
249
0

没有更多内容

加载失败,请刷新页面

加载更多

vue.js-详解三大流行框架VUE_快速进阶前端大咖-Vue基础

作者 | Jeskson 来源 | 达达前端小酒馆 Vue概述: MVX模式简介,Vue框架简介,Vue.js的安装与使用。 Vue基础语法: 实例对象,生命周期,模板语法,计算属性,methods方法 Vue渲染: 列表渲染...

达达前端小酒馆
今天
4
0
OSChina 周五乱弹 —— 匹诺曹也是韩国人

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @watergood :分享海先生的单曲《烟花巷》 《烟花巷》- 海先生 手机党少年们想听歌,请使劲儿戳(这里) @Cyber-Pan :已经很久没有十点前下过...

小小编辑
今天
8
1
Snack3 之 Jsonpath使用

Snack3 之 Jsonpath使用 一、 Snack3 和 JSONPath 介绍 Snack3 是一个支持JSONPath的JSON框架。JSONPath是一个很强大的功能,也可以在Java框架中当作对象查询语言(OQL)来使用。 <dependenc...

刘之西东
今天
5
0
7. 彤哥说netty系列之Java NIO核心组件之Selector

<p align="right">——日拱一卒,不期而至!</p> 你好,我是彤哥,本篇是netty系列的第七篇。 简介 上一章我们一起学习了Java NIO的核心组件Buffer,它通常跟Channel一起使用,但是它们在网络...

彤哥读源码
昨天
21
0
在Jupyter notebooks 中运行GRASS GIS

在Ubuntu16.04中,首先安装jupyter: python3 -m pip install --upgrade pippython3 -m pip install jupyter 然后创建一个sh脚本: # directory where GRASS GIS lives# GRASS GIS 的安装......

ddd口木呆
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部