快速解决mysql导出scv文件乱码、蹿行的问题

(编辑:jimmy 日期: 2024/12/27 浏览:2)

工作原因,常常不能实现完全的线上化(即,所有数据都在线上完成,不需要导入导出),而导出Excel常常比修炼成仙还慢,因此,我们将数据库文件导出到本地使用的时候,常常使用的方法的是导成CSV格式。

而csv格式的也常常出现导出的中文乱码,或者蹿行等问题,从而陷入两难境地。老板要数据,你却导不出来,急死人了。

1.问题:我们原本要把如左图所示的数据库中的数据导出成他原本的样子,无奈成了右边的乱七八糟的东西;

快速解决mysql导出scv文件乱码、蹿行的问题

2.解决:

a:原本怎么导出为csv的还是怎么导;

b:选中你导出的csv文件,右键选择打开方式为【记事本】;

快速解决mysql导出scv文件乱码、蹿行的问题

c:文件-->另存为-->编码选择UTF-8-->保存;(文件名和保存类型都不需要改,点击保存之后会提示该文件已存在,是否替换,选择【是】就好)

快速解决mysql导出scv文件乱码、蹿行的问题

d:打开刚刚保存的文件,只是这次选择打开方式为excel,然后数据就会像你数据库里的样子一样,干干净净(如下图)。

快速解决mysql导出scv文件乱码、蹿行的问题

补充知识:mysql的备份--导入导出--并解决乱码问题

1.导出整个数据库

mysqldump -u 用户名 -p 数据库名 > 导出的文件名

mysqldump -u dbuser -p dbname > dbname.sql

2.导出一个表

mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

mysqldump -u dbuser -p dbname users> dbname_users.sql

3.导出一个数据库结构

mysqldump -u dbuser -p -d --add-drop-table dbname >d:/dbname_db.sql

-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table

4.导入数据库

1) 从 文件恢复到数据库

mysql -uroot -p dbName < fileName

例如:从 test.sql 恢复到 数据库db1

mysql -uroot -p db1 <test.sql

2) 常用source 命令 进入mysql数据库控制台,

如 mysql -u root -p mysql>use 数据库 然后使用source命令

后面参数为脚本文件(如这里用到的.sql)

mysql>source d:/dbname.sql

5.解决导出乱码

例如:  

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数据迁移中的乱码问题就解决了。

以上这篇快速解决mysql导出scv文件乱码、蹿行的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。