- ベストアンサー
特殊文字をPOSTした際の動作は?
特殊文字はPOSTした際、「"」は「%22」などに内部でURLエンコードされ、受け取り元では元の文字にURLでコードされているはずですが、これに絡んだ動作がいまいち理解しきれないので、お教え願えればと思います。 フォームで、テキストエリアに「"」などを入力してPOSTし確認表示させる際に、HTML出力する際に最終の処理をするCGIへPOSTするために「hidden」属性でPOSTするためのデータを持たせています。 ただ、そのままだと <input type="hidden" name="xxx" value="""> となってしまい、POST先では値がなしになってしまうため、HTML出力する際に「"」を「"」に置換して <input type="hidden" name="xxx" value="""> としています。 これをPOSTした際、受け取り元でデータを見ると、予想ではそのまま「"」となっているはずでしたが、なぜかちゃんと「"」に戻されています。 ほかの「&」なども同様でした。 これは、正常なのでしょうか? 自分は、POSTされたものは受け取り先でもそのまま「"」だと思っていたので、「"」を元の「"」に置換する処理を入れていたのですが・・・ 基本的なことだと思いますが、よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
お礼
あ!勘違いしていたことに今気づきました。 POSTなどで変換するのはサーバ側ではなく、ブラウザ側でしたね(^^ゞ Dpopさんがおっしゃっていたのはこのことですね・・・ だから、受け取り側ではPOST・GETにかかわらずURLでコードしなければならないと。 これですべてすっきりしました。 ただ、ブラウザによっては変換しないものもあるんでしょうか?