初次接触 spring boot jpa, 操作数据库的时候,往数据库里面插入数据,但是数据的名称是中文的话,在数据库里面显示的是问号,也就是乱码,查了一番资料,找到了解决方案。
环境:
- centOS 7.3
- MySQL 5.7.17
首先,定位到出问题的地方,是MySQL的配置文件里面缺少了编码的设置,导致中文显示乱码。如何找到配置文件呢?
查看是否使用了指定目录的
my.cnf
使用命令ps aux|grep mysql|grep 'my.cnf'
如果没有反应,说明没有设置指定目录的
my.cnf
查看 MySQL 默认读取
my.cnf
的目录
使用命令mysql --help|grep 'my.cnf'
输出
order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf
这些就是MySQL 默认会搜寻
my.cnf
的目录,顺序排前的优先。
所以需要修改/etc/my.cnf
这个文件。
使用命令
vi /etc/my.cnf
在[mysqld]
标签下加入
character-set-server = utf8
保存退出。
再使用 IDEA 测试插入含有中文的数据,中文可以正常显示了。
参考文献: