从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 相关文章推荐
js 返回时间戳所对应的具体时间
Jul 20 Javascript
jQuery+PHP打造滑动开关效果
Dec 16 Javascript
原生javascript实现Tab选项卡切换功能
Jan 12 Javascript
Jquery全选与反选点击执行一次的解决方案
Aug 14 Javascript
JavaScript实现算术平方根算法-代码超简单
Sep 11 Javascript
JS简单编号生成器实现方法(附demo源码下载)
Apr 05 Javascript
JS验证逗号隔开可以是中文字母数字
Apr 22 Javascript
Vue.js动态组件解析
Sep 09 Javascript
vue页面跳转后返回原页面初始位置方法
Feb 11 Javascript
vue中组件的过渡动画及实现代码
Nov 21 Javascript
使用element-ui的el-menu导航选中后刷新页面保持当前选中状态
Jul 19 Javascript
js实现时间日期校验
May 26 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制作的意见反馈表源码
2007/03/11 PHP
ThinkPHP学习笔记(一)ThinkPHP部署
2014/06/22 PHP
jQuery 中关于CSS操作部分使用说明
2007/06/10 Javascript
NodeJS url验证(url-valid)的使用方法
2013/11/18 NodeJs
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
2014/08/04 Javascript
JavaScript语言对Unicode字符集的支持详解
2014/12/30 Javascript
Jquery api 速查表分享
2015/01/12 Javascript
JavaScript实现倒计时代码段Item1(非常实用)
2015/11/03 Javascript
jquery通过扩展select控件实现支持enter或focus选择的方法
2015/11/19 Javascript
JQuery标签页效果实例详解
2015/12/24 Javascript
简单介绍JavaScript数据类型之隐式类型转换
2015/12/28 Javascript
jQuery 3.0十大新特性
2016/07/06 Javascript
React如何将组件渲染到指定DOM节点详解
2017/09/08 Javascript
vue与TypeScript集成配置最简教程(推荐)
2017/10/17 Javascript
js实现Tab选项卡切换效果
2020/07/17 Javascript
在vue中使用jointjs的方法
2018/03/24 Javascript
JS对象与json字符串相互转换实现方法示例
2018/06/14 Javascript
JS实现DOM节点插入操作之子节点与兄弟节点插入操作示例
2018/07/30 Javascript
iphone刘海屏页面适配方法
2019/05/07 Javascript
利用Vue实现简易播放器的完整代码
2020/12/30 Vue.js
Python语言编写电脑时间自动同步小工具
2013/03/08 Python
高性能web服务器框架Tornado简单实现restful接口及开发实例
2014/07/16 Python
python二分查找算法的递归实现方法
2016/05/12 Python
python3实现字符串操作的实例代码
2019/04/16 Python
Python Django Vue 项目创建过程详解
2019/07/29 Python
python实现多进程按序号批量修改文件名的方法示例
2019/12/30 Python
深入了解如何基于Python读写Kafka
2019/12/31 Python
keras 如何保存最佳的训练模型
2020/05/25 Python
保时捷设计:Porsche Design
2019/03/30 全球购物
PHP经典面试题
2016/09/03 面试题
为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限
2012/12/13 面试题
四查四看整改措施
2014/09/19 职场文书
如何在CSS中绘制曲线图形及展示动画
2021/05/24 HTML / CSS
postgresql 删除重复数据案例详解
2021/08/02 PostgreSQL
《废话连篇——致新手》——chinapizza
2022/04/05 无线电
python实现学生信息管理系统(面向对象)
2022/06/05 Python