从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 相关文章推荐
基于jquery的合并table相同单元格的插件(精简版)
Apr 05 Javascript
Javascript验证用户输入URL地址是否为空及格式是否正确
Oct 09 Javascript
元素绑定click点击事件方法
Jun 08 Javascript
jQuery旋转木马式幻灯片轮播特效
Dec 04 Javascript
JS实现简单的右下角弹出提示窗口完整实例
Jun 21 Javascript
基于Bootstrap框架实现图片切换
Mar 10 Javascript
js调用设备摄像头的方法
Jul 19 Javascript
如何用JavaScript实现功能齐全的单链表详解
Feb 11 Javascript
深入探索VueJS Scoped CSS 实现原理
Sep 23 Javascript
Element Cascader 级联选择器的使用示例
Jul 27 Javascript
JavaScript事件循环及宏任务微任务原理解析
Sep 02 Javascript
基于vue的video播放器的实现示例
Feb 19 Vue.js
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
php根据操作系统转换文件名大小写的方法
2014/02/24 PHP
PHP单例模式详解及实例代码
2016/12/21 PHP
php设计模式之中介者模式分析【星际争霸游戏案例】
2020/03/23 PHP
通过javascript把图片转化为字符画
2013/10/24 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
原生js实现电商侧边导航效果
2017/01/19 Javascript
详解nodejs微信公众号开发——2.自动回复
2017/04/10 NodeJs
基于jQuery实现瀑布流页面
2017/04/11 jQuery
jQuery+C#实现参数RSA加密传输功能【附jsencrypt.js下载】
2017/06/26 jQuery
jquery实现下拉菜单的手风琴效果
2017/07/23 jQuery
基于jstree使用AJAX请求获取数据形成树
2017/08/29 Javascript
jQuery 开发之EasyUI 添加数据的实例
2017/09/26 jQuery
webpack-dev-server自动更新页面方法
2018/02/22 Javascript
使用webpack搭建react开发环境的方法
2018/05/15 Javascript
vue组件之间数据传递的方法实例分析
2019/02/12 Javascript
浅谈js闭包理解
2019/04/01 Javascript
使用vue脚手架(vue-cli)搭建一个项目详解
2019/05/09 Javascript
JavaScript页面倒计时功能完整示例
2019/05/15 Javascript
详解mpvue中使用vant时需要注意的onChange事件的坑
2019/05/16 Javascript
防止Layui form表单重复提交的实现方法
2019/09/10 Javascript
原生JS与JQ获取元素的区别详解
2020/02/13 Javascript
详解在Python中处理异常的教程
2015/05/24 Python
Python实现的爬虫刷回复功能示例
2018/06/07 Python
Pyqt清空某一个QTreeewidgetItem下的所有分支方法
2019/06/17 Python
pandas factorize实现将字符串特征转化为数字特征
2019/12/19 Python
基于Python把网站域名解析成ip地址
2020/05/25 Python
Python Pandas list列表数据列拆分成多行的方法实现
2020/12/14 Python
关于css中margin的值和垂直外边距重叠问题
2020/10/27 HTML / CSS
Html5插件教程之添加浏览器放大镜效果的商品橱窗
2016/01/07 HTML / CSS
公司人力资源的自我评价
2014/01/02 职场文书
党的群众路线教育实践活动个人批评与自我批评
2014/10/16 职场文书
物业工程部岗位职责
2015/02/11 职场文书
2015年幼儿园中班开学寄语
2015/05/27 职场文书
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python
python随机打印成绩排名表
2021/06/23 Python
Oracle锁表解决方法的详细记录
2022/06/05 Oracle