PHP: convert spaces in string into %20?
问题 How can I convert spaces in string 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? 回答1: Use the rawurlencode function instead. 回答2: 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