从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 相关文章推荐
JavaScript在多浏览器下for循环的使用方法
Nov 07 Javascript
jquery动态改变form属性提交表单
Jun 03 Javascript
jquery实现手风琴效果
Nov 20 Javascript
学习JavaScript设计模式之单例模式
Jan 19 Javascript
详谈$.data()的用法和作用
Feb 13 Javascript
js实现自定义进度条效果
Mar 15 Javascript
node.js学习之事件模块Events的使用示例
Sep 28 Javascript
详解Element 指令clickoutside源码分析
Feb 15 Javascript
微信小程序遍历Echarts图表实现多个饼图
Apr 25 Javascript
详解wepy开发小程序踩过的坑(小结)
May 22 Javascript
使用Promise封装小程序wx.request的实现方法
Nov 13 Javascript
纯js实现无缝滚动功能代码实例
Feb 21 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
php设计模式 Prototype (原型模式)代码
2011/06/26 PHP
php mysql 封装类实例代码
2016/09/18 PHP
详解php curl带有csrf-token验证模拟提交方法
2018/04/18 PHP
Javascript 继承机制的实现
2009/08/12 Javascript
Bookmarklet实现启动jQuery(模仿 云输入法)
2010/09/15 Javascript
jquery插件制作 自增长输入框实现代码
2012/08/17 jQuery
Egret引擎开发指南之发布项目
2014/09/03 Javascript
Javascript实现禁止输入中文或英文的例子
2014/12/09 Javascript
快速掌握Node.js模块封装及使用
2016/03/21 Javascript
JavaScript中的原型继承基础学习教程
2016/05/06 Javascript
JS实现动态修改table及合并单元格的方法示例
2017/02/20 Javascript
微信小程序教程系列之新建页面(4)
2017/04/17 Javascript
bootstrap选项卡扩展功能详解
2017/06/14 Javascript
vue组件Prop传递数据的实现示例
2017/08/17 Javascript
jquery 通过ajax请求获取后台数据显示在表格上的方法
2018/08/08 jQuery
代码分析vue中如何配置less
2018/09/28 Javascript
angular6 利用 ngContentOutlet 实现组件位置交换(重排)
2018/11/02 Javascript
小程序Request的另类用法详解
2019/08/09 Javascript
vue中 v-for循环的用法详解
2020/02/19 Javascript
windows下wxPython开发环境安装与配置方法
2014/06/28 Python
python实现简单中文词频统计示例
2017/11/08 Python
浅谈Django自定义模板标签template_tags的用处
2017/12/20 Python
Python中常见的异常总结
2018/02/20 Python
Python pymongo模块常用操作分析
2018/09/01 Python
对python 多线程中的守护线程与join的用法详解
2019/02/18 Python
详解在Python中以绝对路径或者相对路径导入文件的方法
2019/08/30 Python
python实现广度优先搜索过程解析
2019/10/19 Python
jupyter notebook参数化运行python方式
2020/04/10 Python
Python 使用SFTP和FTP实现对服务器的文件下载功能
2020/12/17 Python
美国排名第一的在线葡萄酒商店:Wine.com
2016/09/07 全球购物
小学国庆节活动方案
2014/02/11 职场文书
涉外离婚协议书怎么写
2014/11/20 职场文书
详解MySQL中的主键与事务
2021/05/27 MySQL
pytorch 运行一段时间后出现GPU OOM的问题
2021/06/02 Python
忆童年!用Python实现愤怒的小鸟游戏
2021/06/07 Python
python可视化分析绘制带趋势线的散点图和边缘直方图
2022/06/25 Python