在jsp頁面寫如下js方法,type和title的值都爲中文,通過struts框架傳到後臺後中文發生亂碼
function search(){
var type = document.getElementById("type").value;var title = document.getElementById("title").value;
//alert(id+"AND"+roleId);
url="/crm/viewNews/searchNews?type="+type+"&title="+title;
window.location.href = url;
}
解決方法如下:
在js代碼裏面url值引用encodeURI()方法兩次:
url="/crm/viewNews/searchNews?type="+encodeURI(encodeURI(type))+"&title="+encodeURI(encodeURI(title));
window.location.href = url;
然後在後臺再將傳送值轉換成utf-8
String title1 = java.net.URLDecoder.decode(title, "UTF-8");
String type1 = java.net.URLDecoder.decode(type, "UTF-8");
這樣即可解決該問題