遇到一個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插資料就不亂碼了