解决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

然后就可以正常导出了

posted @   厚礼蝎  阅读(513)  评论(0编辑  收藏  举报
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示