encodeURIComponent編碼後java後臺的解碼

解決方法一:

JavaScript:

window.self.location="searchbytext.action?searchtext="+encodeURIComponent(encodeURIComponent(seartext));

java:

searchtext=java.net.URLDecoder.decode(searchtext,"UTF-8");

爲什麼要兩次編碼的原因:後臺java代碼給searchtext賦值的時候,本身已經使用了一次解碼,不過解碼的結果依然不對。所以我們可以在頁面上進行兩次編碼操作,這樣後臺自動的那次就可以抵消掉一次,然後在使用searchtext=java.net.URLDecoder.decode(searchtext,"UTF-8");進行一次解碼就好了。

解決方法二:

另外還有一種方法是JavaScript進行一次編碼,後臺java處理時換種想法就好了:

java代碼:

String s = new String(request.getParameter("name").getBytes("ISO8859-1"), "UTF-8");

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章