PHP 的 urlencode 有兩種:
- rawurlencode('c & c++'); // 20%26%20c%2B%2B
- urlencode('c & c++'); // c+%26+c%2B%2B
- 由上述看到主要差異在於空白(%20 vs +),+ 會被轉成 %2B
平常使用 urlencode() / rawurlencode() 在 Apache rewrite 轉回來都不會有問題,但是從其它程式語言來得,有遇到同時有 %20 和 +,但是這些在 Apache 端都會被轉成空白讓 PHP 吃,該怎麼避免 + 被轉成空白呢?