最近項目中遇到了中文亂碼的問題,在這裏記錄下,也希望能給遇到類似問題的人提供一種解決問題的方式!
js代碼
//獲取當前學期名稱
var myDate = new Date();
var year =myDate.getFullYear(); //獲取完整的年份(4位,1970-????)
var month= myDate.getMonth(); //獲取當前月份(0-11,0代表1月)
var termName;
if(eval(month)>=9){
termName=year+"-"+eval(year+1)+"第一學期";
}else{
termName=eval(year-1)+"-"+year+"第二學期";
}
//解決方式;兩次的encodeURI();
termName = encodeURI(termName);
termName = encodeURI(termName);
後臺代碼獲取值
//從頁面獲得需要的參數信息
String termName = java.net.URLDecoder.decode( request.getParameter("termName"),"UTF-8");
String schoolcalendarId = resultRuleBean.queryTermIdByName(termName, dataBaseName);
由於項目中多處遇到這個問題,在代碼實現的時候也出現過java.lang.NullPointerException at java.net.URLDecoder.decode(URLDecoder.java:136) 這個問題解決的辦法就是轉碼前對參數判斷是否爲null,可以解決。
分享和總結!