因为要新作系统,因此对于JS脚本又重新研究了一下。在对新的URL编码的时候发现,网页编码的格式对于JS的影响很大,在这里书写一点。
{var B=siteUrl+this.actionUrl+(this.type==="all"?"":this.type)+"&SearchWord="+encodeURIComponent(A).replace(/'/g,"%27");$redirect(B)}}
在制作的时候,发现传出去的数据包的编码全部是UTF-8格式的,而在改正网页编码后也同样没有反映,最后在修改了ENCODE成DECODE方式才解决问题。
下面转载一下关于编码与编码方式的内容:
escape、encodeURI、encodeURIComponent等方法的区别(2007-08-14 17:32:24)
IT/科技
escape 方法
返回一个可在所有计算机上读取的编码 String 对象。
function escape(charString : String) : String
参数
charString
必选。要编码的任何 String 对象或文本。
备注
escape 方法返回一个包含 charstring 内容的字符串值(Unicode 格式)。所有空格、标点、重音符号以及任何其他非 ASCII 字符都用 %xx 编码替换,其中 xx 等于表示该字符的十六进制数。例如,空格返回为“%20”。
字符值大于 255 的字符以 %uxxxx 格式存储。
注意 escape 方法不能用来对“统一资源标识符”(URI) 进行编码。对其编码应使用 encodeURI 和 encodeURIComponent 方法。
要求
版本 1
请参见
encodeURI 方法 | encodeURIComponent 方法 | String 对象 | unescape 方法
适用于:Global 对象
encodeURI 方法
返回编码为有效的统一资源标识符 (URI) 的字符串。
function encodeURI(URIString : String) : String
参数
URIString
必选。表示编码 URI 的字符串。
备注
encodeURI 方法返回一个已编码的 URI。如果将编码结果传递给 decodeURI,则将返回初始的字符串。encodeURI 不对下列字符进行编码:“:”、“/”、“;”和“?”。请使用 encodeURIComponent 对这些字符进行编码。
要求
版本 5.5
请参见
decodeURI 方法 | decodeURIComponent 方法
适用于:Global 对象
encodeURIComponent 方法
返回编码为统一资源标识符 (URI) 的有效组件的字符串。
function encodeURIComponent(encodedURIString : String) : String
参数
encodedURIString
必选。表示编码 URI 组件的字符串。
备注
encodeURIComponent 方法返回一个已编码的 URI。如果将编码结果传递给 decodeURIComponent,则将返回初始的字符串。因为 encodeURIComponent 方法将对所有字符编码,请注意,如果该字符串代表一个路径,例如 /folder1/folder2/default.html,则其中的斜杠也将被编码,这样,当该字符串作为请求发送到 Web 服务器时它将是无效的。如果字符串中包含多个 URI 组件,请使用 encodeURI 方法进行编码。
要求
版本 5.5
请参见
decodeURI 方法 | decodeURIComponent 方法
适用于:Global 对象
unescape 方法
从用 escape 方法编码的 String 对象中返回已解码的字符串。
function unescape(charString : String) : String
参数
charString
必选。要解码的 String 对象或文本。
备注
unescape 方法返回一个包含 charstring 内容的字符串值。所有以 %xx 十六进制形式编码的字符都用 ASCII 字符集当中等效的字符代替。
以 %uxxxx 格式(Unicode 字符)编码的字符用十六进制编码 xxxx 的 Unicode 字符代替。
注意 unescape 方法不应用于解码“统一资源标识符”(URI)。请改用 decodeURI 和 decodeURIComponent 方法。
要求
版本 1
请参见
decodeURI 方法 | decodeURIComponent 方法 | escape 方法 | String 对象
适用于:Global 对象
decodeURI 方法
返回一个已编码的统一资源标识符 (URI) 的非编码形式。
function decodeURI(URIstring : String) : String
参数
URIstring
必选。表示编码 URI 的字符串。
备注
使用 decodeURI 方法代替已经过时的 unescape 方法。
decodeURI 方法返回一个字符串值。
如果 URIString 无效,将发生 URIError。
要求
版本 5.5
请参见
decodeURIComponent 方法 | encodeURI 方法
适用于:Global 对象
decodeURIComponent 方法
返回统一资源标识符 (URI) 的一个已编码组件的非编码形式。
function decodeURIComponent(encodedURIString : String) : String
必选的 encodedURIString 参数是一个表示已编码的 URI 组件的值。
备注
URIComponent 是一个完整的 URI 的一部分。
如果 encodedURIString 无效,则将产生 URIError。
ANSI,unicode,gb2312,utf-8和URI编码总结
ANSI和unicode,Ansi是ascii码字符集,unicode是unicode字符集,在Ansi上各国对ascii码都进行庞大的互不兼容的扩充,大陆对Ansi的扩充是ascii->GB2312(简体中文)->GBK(繁体中文)->GB18030(加了少数民族语言),台湾对Ansi的扩充是ascii->BIG5,GB2312和BIG5互不兼容。8 h$ h1 ]1 Z. o( T! T T; n% u- Q
unicode是推翻ascii的扩充后新的世界范围的字符集,现在推荐使用unicode,utf-8是unicode的编码之一,中文网页中经常使用gb2312和utf-8,在html文件头应当告知浏览器自己的编码方式,如果是gb2312文档则是ANSI格式的,若是utf-8的话就是unicode格式的。在web开发的时候要尽可能用同一的编码,同时要明确指定服务器端和浏览器端的编码。如果有不统一,比如指定了服务器端是gb2312在浏览器端是utf-8,浏览器和服务器之间传递数据就需要编码转换,或者传输的时候指定编码。
* m3 O( J9 Y+ M9 GURI编码是ANSI和unicode之间进行交互的中间格式,浏览器端提交的时候用URI编码,将ANSI转换成可读的串,服务器端根据自己的编码对URI串解码成unicode或者什么的。0 T$ h, j+ ]! v4 Q2 m# E
js对汉字进行URI编码的函数是encodeURIComponent和decodeURIComponent
$ ~5 q S2 ?. znab用的都是utf8编码,提交中文的时候不用再encodeURIComponent,读中文的时候也不用decodeComponent,发出去的数据都是unicode码,在服务器端保存的也是unicode码,js得到unicode编码的json串要eval成对象后,就能直接得到中文,而不是unicode串。
相关推荐
serialize , encodeURIComponent encodeURI 中文转成GBK编码 encodeURIComponent encodeURI 默认转 utf-8 ;重写方法 转成GBK
NULL 博文链接:https://liuzidong.iteye.com/blog/829204
同学的毕业设计出现JavaScript用encodeURIComponentt编码后无法再后台解码的问题。 原来他是这样写的: window.self.location="searchbytext.action?searchtext="+encodeURIComponent(seartext);
而他们之间的异同却困扰了很多的Javascript初学者,这篇文章详细的给大家介绍了js中编码函数:escape,encodeURI与encodeURIComponent的相关资料,需要的朋友可以参考下。
JS中encodeURIComponent函数给中文编码后,如何用php解码?? 前提:编码前的中文可能是gbk,gb2312,utf-8等。 复制代码 代码如下: urldecode() iconv() 在JS中使用了encodeURIComponent对中文进行编码在PHP中使用...
2. encodeURI()是javascript中真正用来对URL编码的函数。编码整个URL地址,但对特殊含义的符号”;/?:@&=+$,#”,也不进行编码。对应的解码函数是decodeURI()。 3. encodeURIComponent()能编码”;/?:@&=+$,#”这些...
基于网址URL中特殊字符...Javascript中的escape,encodeURI和encodeURIComponent的区别 安全字符不同 兼容性不同 对Unicode字符的编码方式不同 适用场合不同 表单提交文档字符集会影响encodeURI吗?其他和Url编码相关
在对新的URL编码的时候发现,网页编码的格式对于JS的影响很大,在这里书写一点。 {var B=siteUrl+this.actionUrl+(this.type===”all”?””:this.type)+”&SearchWord=”+encodeURIComponent(A).replace(/’/g,”'...
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数: unescape,decodeURI,decodeURIComponent 。 下面简单介绍一下它们的区别 1 escape()函数 定义和...
主要介绍了JavaScript、C# URL编码总结,注意包括了encodeURI、decodeURI、encodeURIComponent、decodeURIComponent等使用需要的朋友可以参考下
encodeURIComponent 方法返回一个已编码的 URI。如果您将编码结果传递给 decodeURIComponent,那么将返回初始的字符串
背景 encodeURI 和 encodeURIComponent都是ECMA-262标准中定义的函数,所有兼容这个标准的语言(如JavaScript, ActionScript)都会实现这两个函数。它们都是用来对URI (RFC-2396)字符串进行编码的全局函数,但是...
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断...