0
点赞
收藏
分享

微信扫一扫

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


最近打算写个mysql的条件备份脚本,通过脚本查询一张有中文字段的表时出现了查询结果为???的情况,进入容器后手动查询仍然为???,判断数据库的字符集出现问题

Docker部署Mysql,中文查询结果存在乱码_mysql字符集


首先检查是否是mysql字符集出现问题,查询后发现存在Latin1的编码,查询后发现latin1不支持中文,但是不确定是哪个导致的乱码,每个都试下修改成utf8,看看效果。

SHOW VARIABLES LIKE ‘character%’;查看mysql字符集

SET character_set_client = utf8 ;在线修改字符集,但只对当前回话有效,退出后或者重启数据库失效。需要永久生效需要在my.cnf中添加配置 default-character-set= xxx

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

经过测试发现修改character_set_results为utf8后,中文字符恢复正常

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


不用以上方法也可解决中文乱码问题,在外部连接数据库时添加–default-character-set=utf8即可

Docker部署Mysql,中文查询结果存在乱码_mysql字符集_04


举报

相关推荐

0 条评论