从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 getElementsByClassName 和js取地址栏参数
Jan 02 Javascript
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
Feb 26 Javascript
JQuery扩展插件Validate—6 radio、checkbox、select的验证
Sep 05 Javascript
jquery中get和post的简单实例
Feb 04 Javascript
JS表格组件神器bootstrap table详解(基础版)
Dec 08 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
Jul 08 Javascript
javaScript和jQuery自动加载简单代码实现方法
Nov 24 jQuery
JS扩展String.prototype.format字符串拼接的功能
Mar 09 Javascript
promise和co搭配生成器函数方式解决js代码异步流程的比较
May 25 Javascript
JS实现轮播图效果
Jan 11 Javascript
Vue-cli3生成的Vue项目加载Mxgraph方法示例
May 31 Javascript
TS 类型兼容教程示例详解
Sep 23 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 Web开发MVC框架的Smarty使用说明
2013/04/19 PHP
ThinkPHP使用UTFWry地址库进行IP定位实例
2014/04/01 PHP
php面向对象程序设计入门教程
2019/06/22 PHP
Yii2.0框架behaviors方法使用实例分析
2019/09/30 PHP
替代window.event.srcElement效果的可兼容性的函数
2009/12/18 Javascript
jquery scrollTop方法根据滚动像素显示隐藏顶部导航条
2013/05/27 Javascript
jquery 设置元素相对于另一个元素的top值(实例代码)
2013/11/06 Javascript
jQuery及JS实现循环中暂停的方法
2015/02/02 Javascript
js图片轮播手动切换效果
2015/11/10 Javascript
javascript实现C语言经典程序题
2015/11/29 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
2016/01/27 Javascript
EasyUI布局 高度自适应
2016/06/04 Javascript
简单理解vue中Props属性
2016/10/27 Javascript
利用jquery实现实时更新歌词的方法
2017/01/06 Javascript
canvas实现图像放大镜
2017/02/06 Javascript
vue mounted组件的使用
2018/06/18 Javascript
nodejs 生成和导出 word的实例代码
2018/07/31 NodeJs
vue实现分页组件
2020/06/16 Javascript
封装Vue Element的table表格组件的示例详解
2020/08/19 Javascript
python任务调度实例分析
2015/05/19 Python
使用简单工厂模式来进行Python的设计模式编程
2016/03/01 Python
Python使用Selenium+BeautifulSoup爬取淘宝搜索页
2018/02/24 Python
Python使用装饰器模拟用户登陆验证功能示例
2018/08/24 Python
pyqt5与matplotlib的完美结合实例
2019/06/21 Python
pyinstaller打包opencv和numpy程序运行错误解决
2019/08/16 Python
pytorch之添加BN的实现
2020/01/06 Python
python爬虫爬取监控教务系统的思路详解
2020/01/08 Python
Python3爬虫发送请求的知识点实例
2020/07/30 Python
Python requests接口测试实现代码
2020/09/08 Python
植物选择:Botanic Choice
2017/02/15 全球购物
英国时尚饰品和发饰购物网站:Claire’s
2017/07/04 全球购物
俄罗斯电动工具和设备购物网站:Vseinstrumenti.ru
2020/11/12 全球购物
英语专业个人求职信范文
2014/02/01 职场文书
学校党的群众路线教育实践活动总结材料
2014/10/30 职场文书
2016年教师节感恩寄语
2015/12/04 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书