参数中带有&字符
来源:互联网 发布:天猫交易额实时数据 编辑:程序博客网 时间:2024/04/29 01:29
另外,encodeURI/encodeURIComponent是在javascript1.5之后引进的,escape则在javascript1.0版本就有。
1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。
例如:<script language="javascript">document.write('<a href="http://passport.baidu.com/?logout&aid=7&u='+encodeURIComponent("http://cang.baidu.com/bruce42")+'">退出</a>');</script>
2、 进行url跳转时可以整体使用encodeURI
例如:Location.href=encodeURI("http://cang.baidu.com/do/s?word=百度&ct=21");
3、 js使用数据时可以使用escape
例如:搜藏中history纪录。
4、 escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI,encodeURIComponent编码结果相同。
最多使用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持(form中的编码方式和当前页面编码方式相同)
escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hzfu007/archive/2008/12/20/3565226.aspx
1: 案例:现有一个页面,其地址为“a.jsp?id=1&pid=2”,现在想将这个页面地址传递到另一个页面b,即点击a页面中的超链接将地址传递过去,如果直接传递,采用地址为“b.jsp?url=a.jsp?id=1&pid=2”的话,实际得到的url并不是想要的结果,而是“a.jsp?id=1”,因为在传递的参数中包含&字符,我们需要将&字符进行一下特殊处理,可以用replace方法对url中的&进行替换,替换成对应的ASCII码(%26),这样就OK了。
url=url.replace("&","%26");
然后在b的页面中采用String url=request.getParameter("url");得到的url就是想要的url了
2: 请把 "329ckc&323494=0349 "
用urlencode处理一下然后再输出。
例如:
echo 'http://www.xxxxx.com/index.php?from= '.urlencode( '329ckc&323494=0349 ');
3:
url出现了有+,空格,/,?,%,#,&,=等特殊符号的时候,可能在服务器端无法获得正确的参数值,如何是好?
解决办法
将这些字符转化成服务器可以识别的字符,对应关系如下:
URL字符转义
用其它字符替代吧,或用全角的。
+ URL 中+号表示空格 %2B
空格 URL中的空格可以用+号或者编码 %20
/ 分隔目录和子目录 %2F
? 分隔实际的URL和参数 %3F
% 指定特殊字符 %25
# 表示书签 %23
& URL 中指定的参数间的分隔符 %26
= URL 中指定参数的值 %3D
ok,问题解决。。
4:
JavaScript中escape函数是对 String 对象编码以便它们能在所有计算机上可读,使用方法:
escape(charString)
charstring是必选项,参数是要编码的任意 String 对象或文字。
escape 方法返回一个包含了 charstring 内容的字符串值( Unicode 格式)。所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是 "%20" 。字符值大于 255 的以 %uxxxx 格式存储。
注意 escape 方法不能够用来对统一资源标示码 (URI) 进行编码。对其编码应使用 encodeURI 和encodeURIComponent 方法。
- 参数中带有&字符
- URL参数中带有特殊字符+,空格,/,?,%,#,&,=的处理
- 地址栏中传递带有特殊字符的参数,进行转义。
- aspx参数中带有",怎么处理
- 页面传参数中带有%的问题
- Http请求带有特殊字符的参数处理
- tomcat中配置允url中带有特殊字符
- js中URL中带有空格参数的处理方法
- maximo上传文件中带有特殊字符附件设置
- java下载文件名中带有中文字符乱码的处理
- Linux中如何复制删除带有特殊字符的文件
- 在eclipse中批量删除带有特殊字符行
- FreeBSD ports中make可带有的参数
- [收藏] FreeBSD ports中make可带有的参数
- FreeBSD ports中make可带有的参数[CNFUG]
- [收藏] FreeBSD ports中make可带有的参数
- [收藏] FreeBSD ports中make可带有的参数
- PowerDesigner12在生成的sql中带有comment参数
- Oracle 创建函数stored function
- wap2.0 前端开发须知
- 从数据字典中查询存储过程, 函数, 包
- 找素数
- POJ_3159_差分约束+heap+dijsktra
- 参数中带有&字符
- 测试我用WLW在CSDN上的第一篇博客
- 删除list中重复的对象
- CENTOS+PHP+APACHE+MYSQL 问题解决集锦
- vc调试技巧(z)
- 压力太大了...
- CentOS 5.4搭建APACHE+PHP+MYSQL平台
- 用python编写程序游戏——号码球
- 编程中要解决的问题(持续更新中)