docker下mysql的shell无法显示中文

2020-11-25  本文已影响0人  sunland_0416

环境:
Win10 docker desktop
Server version: 8.0.22 MySQL Community Server - GPL

发现docker pull出来的mysql新建数据库后shell里无法显示中文,但是用 Navicat等工具在windows下查看是可以正常使用的。只是在windows的cmd里中文显示??

docker start mysql
docker exec -it mysql bash
mysql -uroot -p
mysql的shell中文乱码.png

查看mysql的编码格式

 show variables like 'character%';
Variable_name Value
character_set_client utf8mb4
character_set_connection utf8mb4
character_set_database utf8mb4
character_set_filesystem binary
character_set_results utf8mb4
character_set_server utf8mb4
character_set_system utf8
character_sets_dir /usr/share/mysql-8.0/charsets/

没啥问题,都是utf8,支持中文的。那么这就是接收端的解码格式不匹配,即Mysql中发出的数据格式是UTF8,但接受的时候没有用同样的格式解码,就出现了中文乱码了。

解决方法在连接mysql时候指定字符格式即可。

mysql -uroot -p --default-character-set=utf8
解决乱码问题.png
上一篇 下一篇

猜你喜欢

热点阅读