欢迎您访问我爱IT技术网,今天小编为你分享的javascript教程:【从js向Action传中文参数出现乱码问题的解决方法】,下面是详细的讲解!
从js向Action传中文参数出现乱码问题的解决方法
做项目的时候,发现Action获取jsp表单中的中文参数,只要整个项目都采用UTF-8编码格式都不会出现乱码问题;但JSP中用到JS,并从JS向Action传中文参数,就会出现中文乱的现象。几经询问百度,上面说法很多。
经过实践发现下面的方法可以解决中文乱码问题:
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();
}
经过上述处理,问题解决。
关于从js向Action传中文参数出现乱码问题的解决方法的用户互动如下:
相关问题:JS传中文参数乱码
答:=================================================== *************** javaScript 处理中文参数乱码 *************** encodeURIComponent(txt)方法。 试试将url修改为: url=print.do?method=print&pbrid=" + encodeURIComponent(pbrid); 希望... >>详细
相关问题:url 传参数时出现中文乱码该怎么解决
答:一般出现乱码都是在js裏面跳转到哪个类 然後得到这个参数的时候中文乱码, 有一个非常实用的办法,在js你可以这样写: var url=........; url=encodeURI(url); url=encodeURI(url); //最重要的部分,两次调用encodeURI ,就是编码两次 然後在跳转到ur... >>详细
相关问题:JS传递参数出现问题,中文乱码了?
答:问题应该是出在传入的data,可能前后包含了空白 在if判断前,先执行 data = data.replace(/ /g, ""); >>详细
- 【firefox】firefox浏览器不支持innerText的解决
- 【Extjs】Extjs学习过程中新手容易碰到的低级错误
- 【clearInterval】js clearInterval()方法的定义
- 【dom】javascript dom追加内容实现示例-追加内容
- 【checkbox】让checkbox不选中即将选中的checkbox
- 【Array】js中更短的 Array 类型转换-类型转换
- 【append】append和appendTo的区别以及appendChil
- 【ExtJs】ExtJs 表单提交登陆实现代码-表单提交-
- 【ajax清除浏览器缓存】Ajax清除浏览器js、css、
- 【AJAX】AJAX异步从优酷专辑中采集所有视频及信息
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
