mysql数据库导出后乱码问题_MySQL导入导出数据出现乱码的解决办法
在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导入导出数据出现乱码的解决办法相关推荐
- 记一次mysql数据库转储sql文件到另外一台电脑运行失败的解决办法
记一次mysql数据库转储sql文件到另外一台电脑运行失败的解决办法 将转储的sql文件中创建触发器相关的语句剪切复制到另外的一份文本,保存重新运行sql文件,成功后在把之前剪切的语句复制过来在运行一 ...
- mysql 中函数如何转存_mysql 导入导出数据库以及函数、存储过程 【转】
MySQL常用导出数据命令: 1.mysql导出整个数据库 mysqldump -hhostname -uusername -ppassword databasename > backupfil ...
- STATA导入excel数据为红色的解决办法
方法一:创建新的符合格式的变量(方法二更简单) *如果Stata可以直接打开你的数据表格的话就直接打开,不能的话就用import导入excel表格 describe //可以看到数据格式是str,文本 ...
- mysql数据库的后_MySQL数据库误删后的回复技巧
在日常运维工作中,对于数据库的备份是至关重要的!数据库对于网站的重要性使得我们对 MySQL 数据库的管理不容有失!然而是人总难免会犯错误,说不定哪天大脑短路了,误操作把数据库给删除了,怎么办? 下面 ...
- mysql数据库误删后能恢复吗_MySQL 数据库误删除后的数据恢复
MySQL 数据库误删除后的数据恢复 MySQL 数据库误删除后的数据恢复 在日常运维工作中,对于数据库的备份是至关重要的!数据库对于网站的重要性使得我们对 MySQL 数据库的管理不容有失! 然而是 ...
- 把服务器sql数据库导出excel文件,将mysql数据库数据以Excel文件的形式导出
最近在工作中,领导让从数据库中导出一些数据并存放到Excel表格中,网上有许多教程,下面是我总结的其中俩种方法. 从数据库管理工具中导出(navicat) 在navicat导出数据导Excel中还是比 ...
- 关于mysql数据库误删除后的数据恢复操作说明
在日常运维工作中,对于mysql数据库mysql数据库mysql数据库的备份是至关重要的!数据库对于网站的重要性使得我们对mysql数据的管理不容有失! 然后,是人总难免会犯错误,说不定哪天大脑短路了 ...
- mysql数据库怎么安装建表_mysql数据库安装及建表注意事项
在使用mysql数据库的时候,难免会遇到插入中文出现"data too long for....."的错误,这个其实不是字段值设置太小的原因,而恰恰是数据库编码和创建数据库实例时设 ...
- mysql sleep详解_mysql sleep链接过多的原因及解决办法
今天收到运维同事短信,说有个线上业务"可能是数据库DB堵塞了,导致mysql链接过多,让我看一下". 回家后赶紧用家里vpn登录数据库服务器,show processlist 看了 ...
最新文章
- Gartner2018新技术成熟度曲线:五大技术趋势成为新热点
- 014_html折行
- mysql 普通sql流程控制,【mysql的编程专题①】流程控制与其他语法
- DATA URI schema(data:base64)协议常用数据格式
- 如何使用Webpack在HTML,CSS和JavaScript之间共享变量
- CCF201604-1 折点计数
- 扫盲:Java 后端开发常用的 10 种第三方服务
- python算法爬楼梯
- 亲测~Win10开启系统自带Wifi热点步骤
- 共享单车信息系统服务器部署,共享单车云服务器搭建
- 织梦会员中心注册登录
- 2021年茶艺师(中级)考试报名及茶艺师(中级)免费试题
- 编写训练一年级学生10以内减法的程序
- 前端下载文件(exe,zip,js等)的几种方式
- arm linux免驱usb声卡,arm linux利用alsa驱动并使用usb音频设备
- java版wifi下载电脑版_360wifi下载
- 就在刚刚,陆奇博士演讲《正视挑战把握创业创新机会》
- 【Unity】摄像机常用设置
- Windows 环境下查看 Redis 版本号命令
- DMitry --多功能信息收集工具
热门文章
- 相参、相参积累和相参雷达
- 分布式加载数据训练神经网络
- PostgreSQL Oracle 兼容性之 - PL/SQL DETERMINISTIC 与PG函数稳定性(immutable, stable, volatile)...
- validate做前端表单验证
- VS asp.net 连接64位oracle 11g
- winform代码:关联窗体数据更新,删除dataGridview中选中的一行或多行
- [CareerCup] 17.6 Sort Array 排列数组
- 【VMCloud云平台】私有云门户第一朵Web云(一)
- “undefined reference to JNI_GetCreatedJavaVM”和“File format not recognized”错误原因分析...
- ScribeFireBlog 发的一篇在Cnblogs的日志