定义
urlencode - 将传入的字符串进行URL编码
描述
urlencode ( string $str ) : string
其返回的字符串中除了 —_.
和数字字母外,所有其他字符 non-alphanumeric
都被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。
此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。
此函数便于将字符串编码并将其用于URL的请求参数,同时还便于将变量编码后传递给下一页。
urlencode是指针对网页url中的中文字符的一种编码转化方式,一般有两种,分别基于GB2312和UTF-8,如下
中文 -> GB2312的Encode -> %D6%D0%CE%C4
中文 -> UTF-8的Encode -> %E4%B8%AD%E6%96%87
示例
//GB2312的Encode
echo urlencode("中文-_. ")."
"; //%D6%D0%CE%C4-_.+
echo urldecode("%D6%D0%CE%C4-_. ")."
"; //中文-_.
echo rawurlencode("中文-_. ")."
"; //%D6%D0%CE%C4-_.%20
echo rawurldecode("%D6%D0%CE%C4-_. ")."
"; //中文-_.
urlencode和rawurlencode的区别
urlencode 将空格则编码为加号(+)
rawurlencode 将空格则编码为加号(%20)
urldecode
urldecode - 解码已编码的 URL 字符串
urldecode ( string $str ) : string
urldecode()函数与urlencode()函数原理相反,用于解码已编码的 URL 字符串,其原理就是把十六进制字符串转换为中文字符。
Decodes any %## encoding in the given string.