urlencode:返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。由于历史原因,此编码在将空格编码为加号(+)方面与 RFC1738 编码不同。
rawurlencode:功能和urlencode基本一样,采用的是RFC1738编码,因此空格会编码为%20。
代码:
<?php
$queryStr="name=测试 -_.";
echo urlencode($queryStr);
echo '<br />';
echo rawurlencode($queryStr);
?>
输出:
name%3D%B2%E2%CA%D4+-_.
name%3D%B2%E2%CA%D4%20-_.
一般这两个函数不用来编码整个url,通常编码查询字符串,urlencode编码空格时,编码为+,而rawurlencode把空格编码为%20