ajax を使用してサーバーにリクエストを送信し、中国語で書かれたパラメーター (GET および POST) を送信したとき、URL に関連するエンコードおよびデコード関数は使用しませんでした。
しかし、パラメーターは依然としてサーバーに送信されました。サーバーが正常に処理され、PHP スクリプトが正常に認識されました。
お聞きしたいのですが、ここでのデコードとエンコードの操作はブラウザとサーバーによって自動的に行われますか?
これが自動的に行われる場合、エンコードおよびデコード関数を手動で呼び出す必要があるのはどのような場合ですか?
欧阳克2017-07-05 10:44:31
UrlEncode を使用する主な目的は、パラメーターが URL の一部として誤って解析されるのを防ぐことです。 。 。
このエンコーディングは、私たちがよく言う文字列エンコーディングと同じではありません
学习ing2017-07-05 10:44:31
一部の構造には、配列などの複数のエンコード メソッドがあります: ?a=1&a=2
?a[]=1&a[]=2
現時点では、サーバーによって認識されるエンコード メソッドを手動で記述する必要がある場合があります。
typecho2017-07-05 10:44:31
Chrome など一部のブラウザは自動的にエンコードとデコードを行いますが、すべてのブラウザがこれを行うわけではありません。したがって、ほとんどの場合、渡されたパラメーターを UrlEncode してください。私は .NET バックエンドなので、デフォルトで 1 回デコードします。