最近项目中遇到了中文乱码的问题,在这里记录下,也希望能给遇到类似问题的人提供一种解决问题的方式!
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,可以解决。
分享和总结!