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


Posted in Javascript onDecember 29, 2013

做项目的时候,发现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(); 
}

经过上述处理,问题解决。
Javascript 相关文章推荐
<script defer> defer 是什么意思
May 10 Javascript
关于捕获用户何时点击window.onbeforeunload的取消事件
Mar 06 Javascript
js自动闭合html标签(自动补全html标记)
Oct 04 Javascript
Boostrap模态窗口的学习小结
Mar 28 Javascript
jquery事件绑定解绑机制源码解析
Sep 19 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
Apr 29 jQuery
微信小程序实现评论功能
Nov 28 Javascript
微信小程序module.exports模块化操作实例浅析
Dec 20 Javascript
使用Vue实现移动端左滑删除效果附源码
May 16 Javascript
产制造追溯系统之通过微信小程序实现移动端报表平台
Jun 03 Javascript
微信小程序实现下拉框功能
Jul 16 Javascript
JavaScript遍历数组的方法代码实例
Jan 14 Javascript
js data日期初始化的5种方法
Dec 29 #Javascript
javascript轻松实现当鼠标移开时已弹出子菜单自动消失
Dec 29 #Javascript
css3元素简单的闪烁效果实现(html5 jquery)
Dec 28 #Javascript
js动态调用css属性的小规律及实例说明
Dec 28 #Javascript
JQuery的$命名冲突详细解析
Dec 28 #Javascript
js中call与apply的用法小结
Dec 28 #Javascript
SinaEditor使用方法详解
Dec 28 #Javascript
You might like
apache+mysql+php+ssl服务器之完全安装攻略
2006/09/05 PHP
Codeigniter校验ip地址的方法
2015/03/21 PHP
功能强大的PHP POST提交数据类
2016/07/15 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
PHP操作路由器实现方法示例
2019/04/27 PHP
javascript Xml增删改查(IE下)操作实现代码
2009/01/30 Javascript
JS 学习笔记 防止发生命名冲突
2009/07/30 Javascript
Javascript根据指定下标或对象删除数组元素
2012/12/21 Javascript
在JavaScript中使用对数Math.log()方法的教程
2015/06/15 Javascript
JS代码实现根据时间变换页面背景效果
2016/06/16 Javascript
浅谈window.onbeforeunload() 事件调用ajax
2016/06/29 Javascript
Bootstrap Validator 表单验证
2016/07/25 Javascript
jsp 自动编译机制详细介绍
2016/12/01 Javascript
JS 调用微信扫一扫功能
2016/12/22 Javascript
你真的了解BOM中的history对象吗
2017/02/13 Javascript
jquery实现数字输入框
2017/02/22 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
vue.js 上传图片实例代码
2017/06/22 Javascript
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
2017/08/09 jQuery
基于复选框demo(分享)
2017/09/27 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
JS实现4位随机验证码
2020/10/19 Javascript
[42:20]2014 DOTA2华西杯精英邀请赛5 24 DK VS NewBee
2014/05/25 DOTA
[01:20:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第四场 8.26
2018/08/30 DOTA
Python实现字符串匹配算法代码示例
2017/12/05 Python
python多进程提取处理大量文本的关键词方法
2018/06/05 Python
Random 在 Python 中的使用方法
2018/08/09 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
2019/04/25 Python
python 多进程并行编程 ProcessPoolExecutor的实现
2019/10/11 Python
Python读写csv文件流程及异常解决
2020/10/20 Python
Python之Sklearn使用入门教程
2021/02/19 Python
Hotels.com台湾:饭店订房网
2017/09/06 全球购物
《蚂蚁和蝈蝈》教学反思
2014/02/24 职场文书
2014年国培研修感言
2014/03/09 职场文书
村官2015年度工作总结
2015/10/14 职场文书
企业内部管理控制:银行存款控制制度范本
2020/01/10 职场文书