前两天,遇到一个问题,通过js window.laction.href="*.do?param=param"
的形式,往后台传值的时候,因为url带有特殊字符,所以后台拿到的值与前台
传递的值不同,已经证明:但是如果通过form.submit()的方法提交,是不会出现
这个问题的。
解决方法,是写了一个方法,手动将特殊字符替换掉
function getEncodeURI(content) { content = encodeURI(content);//已把%号转为%25 //content = content.replace(/\%/g, "%25"); content = content.replace(/\+/g, "%2B"); content = content.replace(/\ /g, "%20"); content = content.replace(/\//g, "%2F"); content = content.replace(/\#/g, "%23"); content = content.replace(/\&/g, "%26"); content = content.replace(/\=/g, "%3D"); content = content.replace(/\?/g, "%3F"); return content; }
然后,再传值之前,参数先通过getEncodeURI(content)方法处理一下。
原因呢 ? 还在深究中
相关推荐
NULL 博文链接:https://sd8089730.iteye.com/blog/986204
asp.net中URL参数传值中文乱码的三种解决办法
asp.net页面通过URL参数传值中文乱码问题解决办法
本节讲的是ajax 的URL参数中有中文值,传到服务端,在用request.getParameter()方法,得到的常常会是乱码。
这是一个JS把汉字转换编码格式避免乱码的类,相当于ASP或是.NET中的UrlEncode方法.使用方法是var str = UrlEncode("这里是你要转换的汉字");这个方法有个缺点,不支持全角标点,所以要配合下面的方法把全角转换半角才...
解决:delete.action?title=()%>传到action类出现乱码的问题
"URL地址传参中文乱码处理" URL地址传参中文乱码处理是指在Web应用程序中,将中文参数传递给...在处理URL地址传参中文乱码时,需要根据具体情况选择合适的解决方案,并注意编码问题、特殊字符处理和Tomcat配置等方面。
在传值时会遇到中英文乱码 <filter-name>GBKEncoding <filter-class>com.sshnews.filter.GBKEncodingFilter</filter-class> <filter-name>GBKEncoding <url-pattern>/*</url-pattern> </filter-mapping>
为什么用表单的方式就可以传递中文,而URL的方式就不行了呢?非得用URL传值的方式才能解决问题吗?这里我想到了动态表单,何不用它来解决呢
在websphere 中使用的是url=encodeURI(encodeURI(url)); //用了2次encodeURI 测试成功,第一次转换没有尝试, 处理方法一。 js 程序代码:url=encodeURI(url);注意是整个URL 服务器端的代码:String linename = new ...
在domino服务器中,通过ajax将数据提交后台时中文乱码的处理
主要介绍了解决java页面URL地址传输参数乱码的方法,URL地址参数乱码问题,算是老话重谈了吧!需要的朋友可以参考下
php地址栏传中文$_GET下来后乱码,urlencode和urldecode用法详解url编码语法: string urlencode(string str);返回值: 字符串函数种类: 编码处理例如: 复制代码 代码如下:<?php$ChineseName=”我的名字,是中文的...
本文实例讲述了JS传值出现中文参数乱码的解决方法。分享给大家供大家参考,具体如下: function PopupFK(cNum,type){ var url = "contract!Paying.action"; url = url + "?contract.contractNum="+cNum+"&...
在页面中对URL进行编码,最好不要在URL中传递中文参数否则会出现乱码
解决硬编码的上传文件的方式及配置文件传值、url传值的中文乱码,struts2文件的上传与下载
编码编好的url是正确的,可传到另一个页面 就会出错,在地址栏就已经乱码了 1.设置web.config文件 代码如下: <system> ”gb2312″ responseEncoding=”gb2312″ culture=”zh-CN” fileEncoding=”gb2312″> ...
利用JavaScript通过URL方式向后台代码传值是一种经常用到的手段,但在传递汉字时经常会出现字符不全或变成乱码的问题,其原因是由于客户端IE浏览器的编码方式为GB2312(简体中文版WINDOWS的默认设置),而后台的C#...