1

サーバー上:

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 */

ローカルホスト上:

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 */

上記のコードでは、サーバーの結果がローカルホストと異なる理由がわかりません。on serverはwhile%2B(+)に変換されます。localhost と同じ結果が必要です。これについて私を助けてください。%5E(^)urlencode

4

2 に答える 2

2

rawurldecode()の代わりにurldecode()andrawurlencode()の代わりに使用することをお勧めしますurlencode()

于 2012-12-26T06:15:09.770 に答える
0

serverこれは、との文字エンコーディングが異なる可能性が高いです。localhost

common character setそれらをasに変換してみてください

urlencode( utf8_decode($strContent) );
于 2012-12-26T05:09:55.447 に答える