mysqldump 导出中文乱码

命令:mysqldump -uroot -p test > /data/test.sql

导出后的数据库打开是乱码,如下:

开始以为打开的方式不对,就用记事本打开后,用utf-8的编码格式另保存下

结果打开后,仍然是乱码。

这时候,猜测是不是数据库的字符集的编码有问题,然后进入数据库,

输入命令:show variables like 'character%';

很显然,编码是没有问题的。

用命令:mysqldump -uroot -p test  --default-character-set=utf8 > c1.sql 重新导出数据库,结果仍然是乱码

新建一个测试数据库,将导出有乱码问题的数据库导入,结果linux下查看,也无中文乱码问题

接下来只导出test数据库的表结构,命令:mysqldump -uroot -p -d test  > c1.sql

打开来看,显示正常,无乱码

后来搜查资料才发现,是因为表中Blob类型

在命令上加上参数 --hex-blob

命令:mysqldump -uroot -p test  --hex-blob > /test.sql

再次导出,显示正常,无中文乱码

 附:

《各种乱码问题汇总》
http://topic.csdn.net/u/20071124/08/3b7eae69-ed1d-4a77-8895-9930bf3601af.html

原文地址:https://www.cnblogs.com/amy420/p/7234897.html