mysql解决中文乱码问题
Spring Boot程序打成jar部署到服务器之后,新插入的数据中文出现乱码。原因是服务器数据库的字符类型不是UTF-8,使得插入的新数据的中文全按部为"???" 。在这里记录下成功解决的方法还有查询到的相关文章的链接。
在数据库中可以查询当前字符类型
使用命令
SHOW VARIABLES LIKE 'character%';
show variables like 'character%';
//或者
status
查看到
这种情况
或者这种
这里就需要调整配置文件,如果只是在mysql命令行中执行
set character_set_server=utf8;
set character_set_database=utf8;
show variables like '%char%';
这些命令,可能再打开新窗口后又会恢复原来的状态。
修改配置文件
在Windows中是my.ini文件;
在Linux中的配置文件一般在目录/etc/my.cnf 文件
这里是Linux下的操作
//使用vim命令编辑配置文件,进行如下修改或添加
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
结果如下:
保存退出后,重启mydql服务。
Windows下可以运行services.msc,找到mysql服务,重启;
Linux下可以使用
//重启mysql服务
service mysqld restart
重新进入mysql后,再次检查字符,使用
show variables like 'character%';
查看当前character状态:
至此,修改成功!