Java URL传参中文乱码问题
生活随笔
收集整理的這篇文章主要介紹了
Java URL传参中文乱码问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
我們經常會遇到這樣的場景:在URL中傳遞參數,如果該參數為中文,如果設置不當,會出現亂碼問題。
URL傳參所使用的編碼為服務器中設置的編碼,而ajax請求的編碼為頁面編碼。
如果不設置tomcat的默認編碼為ISO-8859-1,而如果在設置中加入?useBodyEncodingForURI="true"
<Connector?URIEncoding="UTF-8"?connectionTimeout="20000"?port="8080"? protocol="HTTP/1.1"?redirectPort="8443"?useBodyEncodingForURI="true"/>那么url中參數的編碼就與頁面編碼一致。
如果頁面編碼為UTF-8,java后臺編碼為UTF-8,那么后臺得到的參數就不會出現亂碼問題。
如果不設置useBodyEncodingForURI="true",那么需要在java后臺中,將ISO-8858-1編碼的中文轉換為UTF-8格式的。
new?String(search_name.getBytes("ISO-8859-1"),"UTF-8");上述方法雖然能解決URL傳參中文亂碼問題,但是依賴于Tomcat服務器配置,需要不同的業務邏輯進行處理,這樣的話,同一個war包,部署到不同的服務器上會出現問題。
因此,盡量用ajax來傳遞中文參數。
轉載于:https://my.oschina.net/friendship/blog/498816
總結
以上是生活随笔為你收集整理的Java URL传参中文乱码问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux内核源码树建立加载hello模
- 下一篇: 如何在linux下判断web服务是否开启