Urlencode&在php中的Urldecode

时间:2012-12-26 05:07:46

标签: php urlencode urldecode

在服务器上

Browser Url--->http://www.mysite.com/?email=external%2Buser%40gmail.com

Email passed in browser--->external%2Buser%40gmail.com 

Email After Encode--->external%5Euser%40gmail.com /* using urlencode function */

Email After Decode--->external^user@gmail.com /* using urldecode function */

在Localhost上

Browser Url--->http://localhost/test.php?email=external%2Buser%40gmail.com

Email passed in browser--->external%2Buser%40gmail.com

Email After Encode--->external%2Buser%40gmail.com /* using urlencode function */

Email After Decode--->external+user@gmail.com /* using urldecode function */

在上面的代码中,我不知道为什么服务器结果与localhost不同。服务器%2B(+)上的%5E(^)转换为urlencode。我想要与localhost相同的结果。请帮帮我。

2 个答案:

答案 0 :(得分:2)

您最好使用rawurldecode()代替urldecode()rawurlencode()代替urlencode()

答案 1 :(得分:0)

这最有可能是serverlocalhost

上的不同字符编码

尝试将它们转换为common character set

urlencode( utf8_decode($strContent) );