今天docker部署mysql,不知道什么原因中文乱码了,估计是字符集没有设置为utf8
原本的docker-compose.yaml
配置为
version: "3.9"
services:
mysql:
image: mysql:8.0
container_name: askos-mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: askos
TZ: Asia/Shanghai
ports:
- "13306:3306"
volumes:
- ./data/mysql-data:/var/lib/mysql
- ./scripts/mysql-init.sql:/docker-entrypoint-initdb.d/mysql-init.sql:ro
后面在网上找到相关记录,sql脚本需要指定一下字符集
/*!40101 SET NAMES utf8 */;
然后执行docker-compose down && rm -rf data && docker-compose up -d
navicat连接发现表的中文注释也乱码,后面搜了一下教程,发现navicat
高级里面也可以设置字符集utf8
设置完后表中的注释和中文字符都正常显示
参考文章: