异常描述
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