GET url傳參中文亂碼問題的解決

百度了很多種方式,最后的解決辦法終于嘗試出來了:

方法一

get方式提交的參數編碼,只支持iso8859-1編碼。因此,如果里面有中文。在后臺就需要轉換編碼:

String userName = request.getParameter("userName");
userName = new String(userName.getBytes("iso8859-1"), "UTF-8");

注:如果你的頁面編碼集為utf-8,則按照此方法設置,如果是gbk,則將utf-8改成gbk即可(該方法我已經自己嘗試過,可行)

方法二

修改tomcat的server.xml文件:
在如下代碼中增加兩個配置(URIEncoding="UTF-8" useBodyEncodingForURI="true"):
修改前:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="200000" redirectPort="8443" />

修改后:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="200000" redirectPort="8443" URIEncoding="UTF-8" useBodyEncodingForURI="true"/>

(嘻嘻,該方法待驗證,不過可以一試,萬一你的可以呢)

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容