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
本文详细解释了PHP中的urlencode和rawurlencode函数的区别,特别是它们如何处理空格。urlencode将空格编码为加号(+),而rawurlencode遵循RFC1738标准,将空格编码为%20。文中通过示例代码展示了这两种函数的实际应用。
133

被折叠的 条评论
为什么被折叠?



