楼主在建库时,只是在本地工具设置了数据库字符集 utf8mb4,但服务器docker里的数据库字符集不会变,仍然是latin1。结果就是建的表中文字段数据乱码。解决方法如下:
查看mysql容器字符集
show variables like 'character%'
可以看到 character_set_client=latin1,character_set_results=latin1
修改docker里的mysql的my.conf配置文件
查找该文件位置命令:docker inspect mysql | grep Mounts -A 20
进入my.conf添加如下配置:
[mysqld]
character-set-server=utf8mb4
[client]
default-character-set=utf8mb4
[mysql
default-character-set=utf8mb4
然后重启mysql容器即可
docker restart mysql
修改成功
转载自: https://www.cnblogs.com/hg-blogs/p/16618375.html