日期:2014-05-16  浏览次数:20543 次

将横杠-转码成%2d,这个是使用什么函数转换的?
将横杠-转码成%2d,这个是使用什么函数转换的?
------解决方案--------------------
RFC 3986:http://www.faqs.org/rfcs/rfc3986.html
中提到:unreserved  = ALPHA / DIGIT / "-" / "." / "_" / "~  
这些非保留字符,在urlencode时,应该使用原有的字符。也就是:
urlencode("-"),
urlencode("字母"),
urlencode(数字)
urlencode(".")
urlencode("_")
urlencode("~")都是原来的字符。( 在 PHP 5.3.0 之前,rawurlencode 根据 ? RFC 1738 来编码波浪线(~)。 )
可能这种解释不一定准确。、
但是urldecode("%2d") 确实是“-”

注意urlencode和rawurlencode的编码标准并不同。