urlencode函数将传入的字符串参数进行url编码。其返回的字符串中除了“ˉ—.”之外,所有非字母数字字符都被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此函数便于将字符串编码并将其用于url的请求部分,同时还便于将变量传递给下一页。
urlencode:是指针对网页url中的中文字符的一种编码转化方式,最常见的就是baidu、google等搜索引擎中输入中文查询时候,生 成经过 encode过的网页url。urlencode的方式一般有两种一种是传统的基于gb2312的encode(baidu、yisou等使用),一种是 基于utf-8的encode(google,yahoo等使用)。本工具分别实现两种方式的encode与decode。
中文 -> gb2312的encode -> %d6%d0%ce%c4中文 -> utf-8的encode -> %e4%b8%ad%e6%96%87
html中的urlencode编码为gb2312的html文件中,http://www.nowamagic.net/中文.rar -> 浏览器自动转换为 -> http://www.nowamagic.net/%d6%d0%ce%c4.rar
注意:firefox对gb2312的encode的中文url支持不好,因为它默认是utf-8编码发送url的,但是ftp://协议可以。
编码为utf-8的html文件中,http://www.nowamagic.net/中文.rar -> 浏览器自动转换为 -> http://www.nowamagic.net/%e4%b8%ad%e6%96%87.rar
php中的urlencode:
复制代码
除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数。
urlencode和rawurlencode的区别:
urlencode 将空格则编码为加号(+)rawurlencode 将空格则编码为加号(%20)
如果要使用utf-8的encode,有两种方法:
将文件存为utf-8文件,直接使用urlencode、rawurlencode即可。使用mb_convert_encoding函数。
复制代码
实例:
复制代码
javascript中的urlencode: %e4%b8%ad%e6%96%87-_.%20%e4%b8%ad%e6%96%87-_.%20,encodeuri 不对下列字符进行编码:“:”、“/”、“;”、“?”、“@”等特殊字符。