遇到的问题
在mybatis plus的FastAutoGenerator代码生成的时候遇到表说明中文乱码
分析,几种解决无果
//方案一、jdbc 链接加上
useUnicode=true&characterEncoding=utf-8
//方案二、查看数据库字符串是utf-8
通过乱码恢复网站得到原编码是windows-1252 即 latin1,于是再次查看数据库编码
show variables like 'character%';
//同过修改命令,发现无果…
set @@character_set_server='utf8';
既然问题是出在数据库上,同个docker修改 mysql.cnf 文件
- 步骤一、拷贝出mysql.cnf
docker cp mysql容器:/etc/mysql/conf.d/mysql.cnf /home/mysql.cnf
- 步骤二、修改mysql.cnf(:q! 不保存退出 :wq 保存退出)
vim /home/mysql.cnf
文件写入内容
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_general_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_general_ci
skip-character-set-client-handshake
- 步骤三、拷贝回去
docker cp /home/mysql.cnf mysql容器:/etc/mysql/conf.d/mysql.cnf
- 步骤四、重启mysql容器
docker restart mysql容器