1:首先介绍了几个概念URL请求传递中文参数乱码
原以为escape() encodeURI() encodeURIComponent
思路就是这样的,贴代码吧:
再多说一句,其实这个encodeURI(desc0); 的用处没有多大,只是保证了传过去的码是utf-8的,如果我的页面中能够保证是此编码的,就能正确的解码了
public String saveDescription(){ HttpServletRequest requestDesc=ServletActionContext.getRequest(); try { requestDesc.setCharacterEncoding("UTF-8");//这个没有用,我ajax用了encodeURI编码,需要在返回的页面中使用decodeURI解码--仔细想想这个也行不通 description=new String(description.getBytes("iso-8859-1"),"UTF-8"); } catch (UnsupportedEncodingExcep tion e) { // TODO Auto-generated catch block e.printStackTrace(); } //String desc=(String) requestDesc.getAttribute("desc"); requestDesc.getSession().setAttribute("description",description); System.out.println("收到描述:"+description); return null; }