环境:
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的编码格式
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

网友评论