【MySQL】【bug】mysqldump备份乱码 fileencoding=latin1

异常描述

mysql:8
系统:Linux
命令:

mysqldump -uroot -p**** -P3306 -h127.0.0.1 test >/home/backup/backup.sql

Linux备份数据库,打开后乱码。文件内用命令

set fileencoding

查看,fileencoding=latin1
增加参数–default-character-set=utf8mb4 无用

异常解决

方法一(推荐)

在命令加上–hex-blob,搞定。
–hex-blob Dump binary strings (BINARY, VARBINARY, BLOB) in hexadecimal format.
这个参数的含义是用16进制的方式导出BINARY, VARBINARY, BLOB类型的数据。

mysqldump -uroot -pnreal123 -P3307 -h127.0.0.1 --default-character-set=utf8mb4 --hex-blob test >/home/cwang/backup/backup.sql

方法二

/etc/vimrc或者/etc/virc 中第一行会设置编码.

if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
   set fileencodings=ucs-bom,utf-8,latin1
endif

但是在文件编码识别成了 latin1 ,改为

if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
   set fileencodings=utf-8
endif
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值