PHP: convert spaces in string into %20?
How can I convert spaces in string开发者_如何学JAVA into %20
?
Here is my attempt:
$str = "What happens here?";
echo urlencode($str);
The output is "What+happens+here%3F"
, so the spaces are not represented as %20
.
What am I doing wrong?
Use the rawurlencode
function instead.
The plus sign is the historic encoding for a space character in URL parameters, as documented in the help for the urlencode()
function.
That same page contains the answer you need - use rawurlencode()
instead to get RFC 3986 compatible encoding.
I believe that, if you need to use the %20
variant, you could perhaps use rawurlencode()
.
精彩评论