前端/postman請求到後臺,後臺取資料中文亂碼,導致存入資料庫記錄亂碼——解決辦法
阿新 • • 發佈:2019-02-06
操作
我們從前端獲取資料後存入資料庫,此處使用postman模擬從前端傳值到後臺,具體如下:
引出的問題:
記錄新增成功,但新新增的記錄中文出現亂碼,具體如下:
很明顯,這不符合我們所想要的效果,那麼如何解決這個問題呢?
解決步驟
1、找出問題所在
Step1:排查資料庫字元編碼
- 選擇所在的資料庫,
->右鍵 ->資料庫屬性
確認資料庫的字元編碼為utf-8。
- 檢視資料庫表的字元編碼,
選中資料庫表->右鍵->物件資訊
, 確認資料庫表的字元編碼為utf-8
Step2:當我們排查了資料庫都沒有問題之後,下一步我們來進行除錯下後臺程式哪裡出了問題。啟動伺服器,開啟debug模式。
問題出現了~ 可以看到,在request獲取引數的時候就已經亂碼了,所以存進資料庫的值也是亂碼的~
2、解決問題
我們去檢視tomcat伺服器的server.xml配置檔案。
發現裡面並沒有設定字元編碼
<Connector connectionTimeout="20000" port="8088" protocol="HTTP/1.1" redirectPort="8443"/>
所以,我們嘗試下在這 Connector
標籤裡面新增 URIEncoding
屬性
<Connector URIEncoding="UTF-8" connectionTimeout ="20000" port="8088" protocol="HTTP/1.1" redirectPort="8443"/>
此時我們重啟伺服器,再次使用debug模式來除錯下我們的程式,發現成功獲取到中文~
此時我們檢視資料庫所存的記錄,存值正常~完美解決~