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

 更新时间:2013年12月29日 16:38:19   作者:  
Action获取jsp表单中的中文参数,只要整个项目都采用UTF-8编码格式都不会出现乱码问题;但JSP中用到JS,并从JS向Action传中文参数,就会出现中文乱的现象
做项目的时候,发现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();
}

经过上述处理,问题解决。

相关文章

  • js如何比较两个日期的时间大小简单代码示例

    js如何比较两个日期的时间大小简单代码示例

    在JavaScript中,日期比较涉及评估两个日期,以确定一个日期是早于、晚于另一个日期还是与另一个日期相同,这篇文章主要给大家介绍了关于js如何比较两个日期的时间大小的相关资料,需要的朋友可以参考下
    2024-06-06
  • js实时获取并显示当前时间的方法

    js实时获取并显示当前时间的方法

    这篇文章主要介绍了js实时获取并显示当前时间的方法,涉及javascript针对时间及页面元素的相关操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • js对象之JS入门之Array对象操作小结

    js对象之JS入门之Array对象操作小结

    每天一对象,今天我们也来new一个。没有系统的学过JS,没有特别的写过一个比较出色的类库,没有运用过一个很强的类库,prototype.js在进行着,慢慢的前进相信不久的将来就可以应用prototype.js来开发自己的应用程序了。
    2011-01-01
  • ES5新增数组的实现方法

    ES5新增数组的实现方法

    这篇文章主要介绍了ES5新增数组的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • JavaScript BOM详解

    JavaScript BOM详解

    这篇文章主要为大家介绍了JavaScript BOM,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • 判断用户的在线状态 onbeforeunload事件

    判断用户的在线状态 onbeforeunload事件

    window.event.clientX和window.event.clientY 将捕捉当前事件发生时鼠标相对与窗口的桌面坐标,通常情况下IE的关闭按钮都会在页面的右上部分,所以点关闭的时候鼠标的坐标的Y坐标一定是小于0的
    2011-03-03
  • JavaScript实现垂直滚动条效果

    JavaScript实现垂直滚动条效果

    这篇文章为大家详细主要介绍了JavaScript实现垂直滚动条效果的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • 复制小说文本时出现的随机乱码的去除方法

    复制小说文本时出现的随机乱码的去除方法

    想把小说复制下来慢慢看,却发现复制到记事本里出现一大堆乱七八糟的东西,很是不爽。于是就想了个简单的办法把它干掉了。
    2010-09-09
  • ES6入门教程之let和const命令详解

    ES6入门教程之let和const命令详解

    最近做项目的过程中,使用到了ES6,因为之前很少接触,所以使用起来还不够熟悉。通过学习网上的教程后觉着有必要整理下遇到的let和const命令,所以这篇文章主要给大家介绍了ES6中let和const命令的相关资料,需要的朋友可以参考下。
    2017-05-05
  • js时间日期和毫秒的相互转换

    js时间日期和毫秒的相互转换

    js时间日期和毫秒的相互转换,需要的朋友可以参考一下
    2013-02-02

最新评论