異常:Get請求提交過來的中文引數亂碼
阿新 • • 發佈:2019-02-11
一、產生環境
spring boot專案的controller接收Get請求提交的中文引數發生亂碼
二、異常情況
中文亂碼
三、產生原因
因為內建了tomcat,即使我們在application.yml檔案裡配置了tomcat的編碼格式,但是當我們打包成war包部署到生產服的時候用的卻是伺服器上的tomcat,所以需要修改伺服器上的tomcat的server.xml檔案。
四、解決辦法
修改tomcat的server.xml配置檔案
找到如下程式碼:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
這段程式碼規定了Tomcat監聽HTTP請求的埠號等資訊。
可以在這裡新增一個屬性:URIEncoding,將該屬性值設定為UTF-8,即可讓Tomcat(預設ISO-8859-1編碼)以UTF-8的編碼處理get請求。
修改完成後:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />