SpringBoot更新數據到MySQL亂碼

今天用springboot2寫項目的時候發現了一個BUG,網頁點擊保存用戶,然後將數據保存至數據庫,發現數據庫亂碼了。下面我們來一步一步的排查

 

第一步、首先懷疑數據庫沒有采用UTF8編碼。

DB也是UTF8格式,沒有問題。 

檢查Mysql所有編碼參數,發現character_set_server爲latin1 ,我們全部修改成UTF-8

 

 

第二步、後臺編輯器的編碼,也是UTF-8

 

第三步、懷疑SpringBoot配置JDBC字符編碼問題
application.properties修改爲通過utf8連接mysql,但是問題依然沒有解決。

 

 

第四步、懷疑時網頁編碼的問題

我們手寫一個存儲

直接寫入沒發現亂碼,判斷是網頁編碼的問題,我們修改網頁編碼爲UTF-8,問題得到解決

 

解決亂碼的思路:數據庫編碼——後臺編碼——後臺JDBC編碼——網頁編碼

由於編碼涉及到很多環節,每一個環節出現編碼不對應,都將出現亂碼問題,所以我們要排查每個環節的編碼