Docker部署Mysql,中文查询结果存在乱码

最近打算写个mysql的条件备份脚本,通过脚本查询一张有中文字段的表时出现了查询结果为???的情况,进入容器后手动查询仍然为???,判断数据库的字符集出现问题
在这里插入图片描述
首先检查是否是mysql字符集出现问题,查询后发现存在Latin1的编码,查询后发现latin1不支持中文,但是不确定是哪个导致的乱码,每个都试下修改成utf8,看看效果。
SHOW VARIABLES LIKE ‘character%’;查看mysql字符集
SET character_set_client = utf8 ;在线修改字符集,但只对当前回话有效,退出后或者重启数据库失效。需要永久生效需要在my.cnf中添加配置 default-character-set= xxx
在这里插入图片描述

经过测试发现修改character_set_results为utf8后,中文字符恢复正常
在这里插入图片描述
不用以上方法也可解决中文乱码问题,在外部连接数据库时添加–default-character-set=utf8即可
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值