解决mysqldump 导出中文乱码的问题
导数据库
mysqldump -uroot -p111111 -P3306 -h 127.0.0.1 test > /data/test.sql
导出后的数据库打开是乱码,如下:

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

结果打开后,仍然是乱码。
这时候,猜测是不是数据库的字符集的编码有问题,然后进入数据库,
输入命令:
show variables like 'character%';

很显然,编码是没有问题的。
用命令:
mysqldump -uroot -p111111 -P3306 -h 127.0.0.1 test --default-character-set=utf8 > c1.sql
重新导出数据库,结果仍然是乱码
新建一个测试数据库,将导出有乱码问题的数据库导入,结果linux下查看,也无中文乱码问题
接下来只导出test数据库的表结构,命令:
mysqldump -uroot -p111111 -P3306 -h 127.0.0.1 -d test > c1.sql

打开来看,显示正常,无乱码
后来搜查资料才发现,是因为表中Blob类型

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

然后导出
mysqldump -uroot -p111111 -P3306 -h 127.0.0.1 --hex-blob test > /data/test.sql
然后就可以正常导出了
本文来自博客园,作者:厚礼蝎,转载请注明原文链接:https://www.cnblogs.com/guangdelw/p/17435516.html

浙公网安备 33010602011771号