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

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

WBOY
リリース: 2016-06-13 13:23:29
オリジナル
781 人が閲覧しました

送信された 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 コード

ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート