在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
URLEncode:是对网页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.baidu.com/中文.rar -> 浏览器自动转换为 -> http://www.baidu.com/%D6%D0%CE%C4.rar 后来发现Firefox对GB2312的Encode的中文URL支持不好,因为它默认是UTF-8编码发送URL的,但是ftp://协议可以,这应该算是火狐的一个bug。 下面来看一段PHP中URLEncode编码转换的代码实例: //GB2312中的Encode示例 echo urlencode("中文-_. ")."\n"; //%D6%D0%CE%C4-_.+ echo urldecode("%D6%D0%CE%C4-_. ")."\n"; //中文-_. echo rawurlencode("中文-_. ")."\n"; //%D6%D0%CE%C4-_.%20 echo rawurldecode("%D6%D0%CE%C4-_. ")."\n"; //中文-_. 除了“-_.”之外的所有非字母数字字符都将被替换成百分号“%”后跟两位十六进制数。 urlencode和rawurlencode的区别:urlencode将空格编码为加号“+”,rawurlencode将空格编码为加号“%20”。 如果要使用UTF-8的Encode,有两种方法: 第一种是将文件保存为UTF-8文件,直接使用urlencode、rawurlencode即可。 第二种方法是使用mb_convert_encoding函数转换,示例代码如下: $url='http://www.baidu.com/中文.rar'; echo urlencode(mb_convert_encoding($url,'utf-8','gb2312'))."\n"; echo rawurlencode(mb_convert_encoding($url,'utf-8','gb2312'))."\n"; 注:encodeURI不对“:”、“/”、“;”、“?”、“@”等特殊字符进行编码。 |
2022-08-19
2022-07-30
2022-08-17
2022-11-06
2022-08-17
请发表评论