PHP urlencode()和urldecode()函数详解
程序员文章站
2022-03-10 11:44:37
PHP urlencode()和urldecode()的使用 ......
定义
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("中文-_. ")."\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)
urldecode
urldecode - 解码已编码的 url 字符串
urldecode ( string $str ) : string
urldecode()函数与urlencode()函数原理相反,用于解码已编码的 url 字符串,其原理就是把十六进制字符串转换为中文字符。
decodes any %## encoding in the given string.