从js向Action传中文参数出现乱码问题的解决方法
2013-12-29 00:00
791 查看
做项目的时候,发现Action获取jsp表单中的中文参数,只要整个项目都采用UTF-8编码格式都不会出现乱码问题;但JSP中用到JS,并从JS向Action传中文参数,就会出现中文乱的现象。几经询问百度,上面说法很多。
经过实践发现下面的方法可以解决中文乱码问题:
JSP的JS中:中文参数用encodeURI(encodeURI(中文参数)),经过两次转码。例如:
其中 realName是中文参数。故在提交的URL中将realName转码两次。encodeURI(encodeURI(realName))
Action中:接收中文参数时解码。用:java.net.URLDecoder.decode(realName,"UTF-8");
如:
经过上述处理,问题解决。
经过实践发现下面的方法可以解决中文乱码问题:
JSP的JS中:中文参数用encodeURI(encodeURI(中文参数)),经过两次转码。例如:
function show(next,id,realName){ document.forms['f2'].action="usersearchNextPage?next="+next+"&id="+id+"&realName="+encodeURI(encodeURI(realName)); document.forms['f2'].submit(); }
其中 realName是中文参数。故在提交的URL中将realName转码两次。encodeURI(encodeURI(realName))
Action中:接收中文参数时解码。用:java.net.URLDecoder.decode(realName,"UTF-8");
如:
String realName = ServletActionContext.getRequest().getParameter("realName"); try { realName = java.net.URLDecoder.decode(realName,"UTF-8"); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); }
经过上述处理,问题解决。
相关文章推荐
- javascript中不等于的代码是什么怎么写
- 解决js中window.open弹出的是上次的缓存页面问题
- js读写cookie实现一个底部广告浮层效果的两种方法
- 利用js实现在浏览器状态栏显示访问者在本页停留的时间
- 原生javaScript做得动态表格(注释写的很清楚)
- JavaScript正则表达式下——相关方法
- JavaScript 正则表达式上——基本语法
- javascript中window.showModalDialog的使用以及windows.open使用整理
- Extjs报错:isField为空或不是对象
- js call
- js学习笔记一-语法结构
- ThoughtWorks郑大晔校的一天(3)——Javascript的TDD,Jasmine
- 【面试必读】一不注意就做错的五道JavaScript题目
- JSP中System.out.println()与out.println()区别
- 原生JavaScript技巧大收集
- 自定义JSP标签
- jsp和 js 获取 路径
- JavaScript性能优化
- 41-JavaScript-DOM-forms-imgs
- href="#" 和href="javascript:void(0);" 这哪个好些