1. 程式人生 > >異常:Get請求提交過來的中文引數亂碼

異常:Get請求提交過來的中文引數亂碼

一、產生環境

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" />