遇到一个java项目向后台插入数据时,mysql数据库内中文乱码的问题,如图
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHLxkFVOBTVU50MNpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zROBlLwAjN1QDOxUTM2AjNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
然后开始排查逐步排查
数据库表是UTF8
前段是UTF-8
idea是UTF-8
JAVA是utf-8
web.xml配了utf-8
<!-- 编码Filter 加载配置 Start -->
<filter>
<filter-name>SetCharacterEncoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
最后修改了linux的mysql数据库为utf-8后重启,解决了问题
修改文件 vim etc/my.cnf文件
#做了如下添加
[client]
default-character-set=utf8
character-set-server=utf8
init_connect='SET NAMES utf8'
重启mysql
service mysqld restart
最后再向mysql插数据就不乱码了