java 頁面url傳值中文亂碼問題解決


 

中文問題,是在應用中常常遇到的問題。

 

本節講的是ajax 的URL參數中有中文值,傳到服務端,在用request.getParameter()方法,得到的常常會是亂碼。

這將涉及到字符解碼操作,我們在應用中常常會用new String(fieldType.getBytes("iso-8859-1"), "UTF-8");等類似的方法去解碼。但這種方式受具體應用環境限制,往往在應用部署環境發生改變時,還會出現中文亂碼。

在這里介紹一種解決方法,可以在任何應用部署環境下通用。此方法分兩步:

1、在客戶端用escape(encodeURIComponent(fieldValue))方法編碼,例如:

title=escape(encodeURIComponent(title)); //這是js里的函數

url="<%=request.getContextPath()%>/print/printList!printTable.action?title="+title;

2、在服務端用java.net.URLDecoder.decode(getRequest().getParameter("title"),"UTF-8"),進行解碼。

 

-----------------------------------------------------------------------------

parent.window.location.href 和 iframe中src的亂碼問題。

要在這兩個url地址中傳中文,必須加編碼,然后再解碼。

編碼:encodeURI(encodeURI("包含中文的串"))

解碼:java.net.URLDecoder.decode("需要解碼的串","utf-8");

 

原文鏈接:http://blog.163.com/candy08aoyun@126/blog/static/12109780120102325956876/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM