js 解码:strtus2 编码问题 (js提交中文参数的编码解码问题)

描述:本人在做项目中遇到这样的问题:struts2 用javascript提交,并且如果需要在url地址后面带中文参数,如果不对中文参数进行特殊处理,在action端会得到乱码;
具体解决办法如下(欢迎拍砖!):
js提交::
var params=$("#form").serialize();
var cn="中文";
var url=actionurl+"?r_m="+math.random()+"&"+params+"&cn="+encodeuri(encodeuri(cn));
action端代码::
public string executeaction(){
.
.
string mycn=urldecoder.decode(cn, "utf-8");
//此处的utf-8 是和struts2 中的struts.i18n.encoding 配置一致
.
.
}
本文链接http://www.cxybl.com/html/wyzz/JavaScript_Ajax/20120708/31780.html

时间: 2024-09-09 06:35:00

js 解码:strtus2 编码问题 (js提交中文参数的编码解码问题)的相关文章

ajax中传递中文参数的编码问题

ajax|编码|问题|中文 遇到问题:在使用xhr发出请求时,请求的url中参数带中文,这时在后台解析request得不到中文如:request = new ActiveXObject("Microsoft.XMLHTTP");request.open("GET", url);中我的url需要带中文参数直接加参数是在后台解析不出来的,所以我使用方法对url进行编码转换 在页面中中文参数传递前先转码: function enCode(chineseStr) {    

asp页面和Asp.net页面传中文参数UrlEncode编码以及接收解码_实用技巧

举例:asp.net用Get方式传输的URL为:"WebPage.asp?str="+HttpUtility.UrlEncode(str) ,解码方式为HttpUtility.UrlDecode(Request.QueryString["str"].ToString().Trim()) asp的Get方式传送为"webPage.aspx?str="+server.urlencode(str) 两种编码不统一 解决方案:在asp使用Get方式传送&

在asp.net页面中传递中文参数

asp.net|页面|中文 1.设置web.config文件.     <system.web>       ......       <globalization   requestEncoding="gb2312"   responseEncoding="gb2312"   culture="zh-CN"   fileEncoding="gb2312"   />       ......      

asp.net中url地址传送中文参数时的两种解决方案_实用技巧

在Web.comfig中配置 是一样的: <globalization requestEncoding="gb2312" responseEncoding="gb2312"/> 页面Header部分也都有 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 真是奇怪, 只好用了笨办法: 写参数: 复制代码 代码如下

JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)_javascript技巧

本文实例讲述了JS实现对中文字符串进行utf-8的Base64编码的方法.分享给大家供大家参考,具体如下: 要进行编码的字符串:"select 用户名 from 用户" 使用JAVA进行编码,Java程序: String sql = "select 用户名 from 用户"; String encodeStr = new String(Base64.encode(sql.getBytes("UTF-8"))); // 编码 System.out.

js ajax中传递中文参数处理

  ajax中传递中文参数处理代码:  代码如下   js中: send_request('http://www.45it.com /mini_do.php?username=' + encodeURI(username) + '&phone=' + encodeURI(phone)+ '&content=' + encodeURI(content)); mini_do.php中: $username = urldecode($_REQUEST[username]); $phone = u

java中编码问题导致ajax提交中文乱码

ajax碰到过两问题,一个是时间问题,一个是中文乱码问题. 因为项目都是在谷歌浏览器做的. 所以一直没有发现别的浏览器问题, 测试的时候才发现ie,360 等出现点击ajax所在的方法失效 刚开始一直以为是js不兼容. 调试下发现是前台传值发现乱码, 坑.. 然后 把中文先转码 最后后台再解码 就可以了.. 下面是决解方法 前台  url: "/yq1012/Ajax.php?name="+encodeURI(encodeURI(name)) 后台   name= java.net.U

JS URL传中文参数引发的乱码问题_javascript技巧

解决方法如下: 1.在JS里对中文参数进行两次转码 复制代码 代码如下: var login_name = document.getElementById("loginname").value; login_name = encodeURI(login_name); login_name = encodeURI(login_name); 2.在服务器端对参数进行解码 复制代码 代码如下: String loginName = ParamUtil.getString(request, &

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

做项目的时候,发现Action获取jsp表单中的中文参数,只要整个项目都采用UTF-8编码格式都不会出现乱码问题:但JSP中用到JS,并从JS向Action传中文参数,就会出现中文乱的现象.几经询问百度,上面说法很多. 经过实践发现下面的方法可以解决中文乱码问题: JSP的JS中:中文参数用encodeURI(encodeURI(中文参数)),经过两次转码.例如: 复制代码 代码如下: function show(next,id,realName){ document.forms['f2'].a