"; echo rawurlencode($_POST['name']);"/> "; echo rawurlencode($_POST['name']);">

ホームページ >バックエンド開発 >PHPチュートリアル >送信して取得した rawurlencode() が直接出力したものと異なるのはなぜですか?

送信して取得した rawurlencode() が直接出力したものと異なるのはなぜですか?

WBOY
WBOYオリジナル
2016-06-13 13:23:29790ブラウズ

送信された rawurlencode() が直接出力と異なるのはなぜですか?
if($_POST['submit']){
echo $_POST['name']."=
";
echo rawurlencode($_POST) ['name']);
}
echo rawurlencode("女性");





このように「女性」を送信してください出力: %C5%AE%C8%CB
そして、rawurlencode (「女性」) の直接出力: 再度: %E5%A5%B3%E4%BA%BA

これはなぜですか?



-----解決策---------------------------- -提出物が gbk であるため、php ファイルは utf8 です。

------解決策------------------もう一つ注意してください、送信されたフォームは urlencode ではありません。 rawurlencode ですが、JS の URIcomponentEncode (このように綴られますか) は PHP の rawurlencode と同等です。主な違いは、スペースが + であるか %20 であるかです。

次のように正しい結果を確認したいとします。

PHP コード

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。