原因: get方式提交的參數編碼,只支持iso8859-1編碼,而我們一般習慣都是把本地或者線上編碼格式設置成UTF-8,前端加碼,后天解碼過程就會出現亂碼的問題
解決方案:有兩種解決方案
第一種是從根本上解決問題:
在客戶端使用 URLEncoder.encode(“中文”,”UTF-8”)對中文參數進行編碼,在服務器端需要進行解碼this.setName(java.net.URLDecoder.decode(name, “UTF-8”));
比較麻煩!
第二種比較簡單,吧轉碼的事情交給web容器
在tomcat的server.xml中<Connector 標簽中添加內容:URIEncoding="UTF-8" useBodyEncodingForURI="true"
我在解決這個問題的時候,有很多解決方案都只加了URIEncoding="UTF-8" ,我加了后還是亂碼,連個屬性一起用就解決了亂碼問題
參考:https://blog.csdn.net/gg12365gg/article/details/52347214