1

除其他差异外,urlencoderawurlencode空间的编码方式也不同。+%20分别。根据 PHP 文档,变量是自动解码的。PHP 如何“知道”以哪种方式对其进行解码?

我曾经使用过,urlencode直到我在这里读到原始对应物通常更好。我必须说,我从来没有遇到过任何解码问题,但很好奇它是如何工作的,以及您是否认为在某些情况下rawurlencode会由于自动解码而导致问题。

谢谢。

4

1 回答 1

2

+字符由两个函数编码为 %2B,因此不会混淆。

为了安全地解码任何版本,PHP 只需将每个%XX转换为相应的字符并将每个+转换为空格。这就是这样urldecode做的。

rawurlencode不应该引起问题,因为它所做的只是将更广泛的字符编码到它们的 %XX 对应物中。这些将被任何版本的函数安全解码。

于 2013-07-08T10:36:33.073 回答