热门标签 | HotTags
当前位置:  开发笔记 > 开放平台 > 正文

从js向Action传中文参数出现乱码问题的解决方法_javascript技巧

Action获取jsp表单中的中文参数,只要整个项目都采用UTF-8编码格式都不会出现乱码问题;但JSP中用到JS,并从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();
}


经过上述处理,问题解决。
推荐阅读
author-avatar
书友69132746
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有