js 对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent
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& gt;');</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
根据说明 我需要的是encodeURIComponent函数
--------------------------------------------------------------------------------------------------------------
据上所述
1、浏览器,表单发的URL是和页面编码一致的
2、浏览器中用XMLHTTP发送的URL是和浏览器默认设置一致的
3、请求 URL 与服务器一致则无乱码出现
PS: 推荐使用 encodeURIComponent(), 用它编码过的 URL 与 PHP urlencode() 函数执行结果一致,交互最为便捷.
分享到:
相关推荐
javascript版本的 base64解码和编码函数。
摘要:脚本资源,Ajax/JavaScript,Js编码,解码 JavaScript版GBK编码、解码函数演示,在你选择使用GBK编码、用POST或GET方式发送信息到服务器的时候,注意过浏览器发送的编码是什么样的吗?碰到过编码错误的情况吗?此...
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponen
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,另外还有相对应的解码函数,本文对编码及解决函数坐下介绍,感兴趣的朋友可以参考下
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断...
对ASP_UTF8_下(JS)中文乱码的解码函数 先用:bm()编码 在。request,或 enctype="multipart/form-data"类.FORM()获取时用JM()解码。
对字符串进行HTML编码和解码的JS函数,记下了方便以后找 :)
JavaScript 中encodeURI,encodeURIComponent与escape的区别和注
2. encodeURI()是javascript中真正用来对URL编码的函数。编码整个URL地址,但对特殊含义的符号”;/?:@&=+$,#”,也不进行编码。对应的解码函数是decodeURI()。 3. encodeURIComponent()能编码”;/?:@&=+$,#”这些...
base64-js在纯JS中执行基本的base64编码/解码。 许多浏览器已经具有base64编码/解码功能,但是它用于文本数据,而不是通用二进制数据。 有时在浏览器中对二进制数据进行编码/解码很有用,这就是该模块的作用。 ...
第二个函数把JS数据同样是换成转义字符, 同样避开了JS关键词等字符的转换, 不管网页是什么编码它都不会乱码. 废话少说, 看下面的代码. 代码如下: Function htmlentities(str) Dim a,i,char For i = 1 to Len(str) ...
Javascript中实现unicode编码与解码功能,两个小测试函数。
js中escape对应的C#解码函数 System.Web.HttpUtility.UrlDecode(s) //注意编码 需要注意的几点: 1、HttpUtility.UrlEncode,HttpUtility.UrlDecode是静态方法,而Server.UrlEncode,Server.UrlDecode是实例方法。...
js对文字编码有3个函数: escape,encodeURI,encodeURIComponent, 对应的解码函数:unescape,decodeURI,decodeURIComponent
这个是 utf-8版本的 js实现 php的 urlencode() 和 urldecode()两个函数的功能。 在传送cookie的时候 在 php端实现 url编码 但要用 js来解码cookie的时候 就出现汉字不能不能识别的问题 这个 js 很好的解决
本文实例讲述了js常用系统函数用法。分享给大家供大家参考。 具体代码如下: 代码如下:<html> <head> </head> <body> [removed] //1. escape()函数,把字符串转成各计算机平台通用的...
而相信碰到过此问题的朋友应该都有所了解,目前网络上流行一些js下的自定义函数去解决这个问题,如说vbscript(URLDecode())、javascript(UrlDecode())等。而这两个函数,都无法很好的与asp(Server.Ur
jother编码:jother编码是在javascript语言中,利用少量特定字符构造精简的匿名函数对与字符串的编码方式。我理解是,javascript中使用少量特定字符对匿名函数进行编码加密。其中少量的特定字符包括:“+”、“!”...