因为自己项目更换了数据库,mysql版本升至5.7.22,在应用服务中发现更新或插入的中文信息都成了??,
检查mysql配置文件,(安装目录下my.cnf)发现没有设置字符编码,需要手动设置字符编码格式,在之前的版本中,设置编码时可直接在配置文件中加入
default-character-set = utf8
即可,但是在5.7.22后需要在client和mysqld中加入字符编码配置,如下:
[mysqld]
character-set-server = utf8
如果没有[client]需要手动添加
[client]
default-character-set = utf8
如果两个设置都写在一起,重启会报如下错误:
Starting MySQL....... ERROR! The server quit without updating PID file(/opt/mysql3301/mysql.pid)
更改完成后,重启mysql,进入安装目录下,执行
./mysql restart
成功启动后,再次插入或更新数据,中文显示正常。