MacBook,idea springboot中将对象list类型插入到数据库中中文数据全变成问号的问题

时间:2024-04-06 13:55:55

1、首先通过断点调试看自己的程序是否添加的时候就有乱码,经跟踪发现程序中都能正常显示成中文,程序没有问题

2、那应该就是数据库的问题,首先在数据库中查询数据库的编码格式

      mysql> show variables like '%char%';

MacBook,idea springboot中将对象list类型插入到数据库中中文数据全变成问号的问题

发现是由于数据库的database的编码格式不正确所致,应该把除了filesystem和sets_dir之外的格式都改为utf8

然后修改my.cnf文件,没有文件就新建一个,但是在修改my.cnf之前一定要关闭mysql!!!不然会出现socket连接问题。

但是在mac中默认没有my.cnf文件,但是在/mysql/support-files/ 下有一个my-default.cnf文件,将它复制到cd /private/etc/这个目录下

3、编辑文件sudo vim my.cnf,按i进入编辑模式,在其中添加

[client]
default-character-set=utf8
 
[mysql]
default-character-set=utf8
 
[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

然后esc退出编辑模式,再按:wq保存退出

4、再次查看mysql字符集 

MacBook,idea springboot中将对象list类型插入到数据库中中文数据全变成问号的问题

发现字符集已经全改成了utf8

5、最后再次向数据库中插入一条带中文的数据,发现数据库中的中文已经能正常显示。