頁:
[1]
工作中遇到jsp關於取得地址欄中文亂碼的問題
工作中遇到jsp關於取得地址欄中文亂碼的問題,經過查找,終於找到瞭解決的方法,下面為3種情況說明:1、前台javascript編碼+後台jsp解碼方式:
前台:
<sccript>
for(i=0;i<_input.length;i++){
if(_input.type=="text"){
_input.value=encodeURI(_input.value);
}
}
uploadForm.action="selPerson.jsp";
uploadForm.submit();
</script>
這裡先對表單裡的數據進行編碼.encodeURL這個方法轉出來的編碼是UTF-8的.
或者通過鏈接傳遞
<a href="selPerson.jsp?param=encodeURI('中文字')">
後台:
<%@ page import="java.net.URLDecoder"%>
URLDecoder.decode(request.getParameter("param").getString(),"UTF-8"));
2、前台javascript編碼+後台javascript解碼方式
前台:
<a href="selPerson.jsp?param=escape('中文字')">
後台:
unescape(param)
3、前台jsp編碼+後台jsp解碼方式
前台:
<%@ page import="java.net.URLEncoder"%>
<a href="selPerson.jsp?param=<%=URLEncoder.encode("中文字")%>">
後台:
<%@ page import="java.net.URLDecoder"%>
URLDecoder.decode(request.getParameter("param"))
因為在jsp中取不到javascript定義的變量值,javascript可以取到jsp中的變量值,我們一般常用的就是第一種方式。...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div> 那個不是亂碼
因為 URL 網址必須是 ASCII 字元
只要用 URLDecoder 來做解碼的動作就可以編碼回 UTF-8 樓主,你不覺得編譯,解譯這樣很麻煩嗎?
實務上這樣寫不是很煩,若有人沒有這樣做怎麼辦
我的方法
1.POST在Filter做編碼
2.Get在Tomcat的server.xml做編碼 樓上說的是呀~~
推薦一個我最近找到的網頁跟你分享,在server.xml或web.xml上設定中文部份
http://blog.yam.com/carl44/article/18049288
有興趣就自已看吧 不了解
為什麼您會有中文亂碼?
一般來說
jSP用get傳送或用javascript中的location來傳送的話
另一端最上面一定要先宣告~~
request.setCharacterEncoding("MS950");
這樣接收表單值
request.getParameter("num"))
才能取得中文字<br><br><br><br><br><div></div> 不了解
為什麼您會有中文亂碼?
一般來說
jSP用get傳送或用javascript中的location來傳送的話
另一端最 ...
ROACH0426 發表於 2009-11-8 10:22 AM http://www.eyny.com/images/common/back.gif
若每個都要這樣寫不是很麻煩,有人忘了怎麼辦,GET的用法就在SERVER.XML設定即可
頁:
[1]