- 締切済み
SUBMIT時の入力文字のURLエンコードについて
本質的にはPerlではないのですが、Perlの 処理中で起こったのでこちらで・・・・ 現在FAQページとFAQを登録するページがあり、 入力 → 確認 → 登録・完了 という流れでページの移行を行っています。 #ちなみにShift_JISです。 日本語だけでなく英語でのFAQを登録する際 『Ω』を入力したかったのですが、当然全角は無理 なので『&Omega;』で登録しました。 が、登録し終わったDBを見ると『Ω』で登録されていました。 そこで、処理を追いかけていて気づいたのですが 確認画面でhiddenとして入れておいた"&Omega;"が POSTされた時点で『Ω』(をURLエンコードしたもの)に 変わっていました。 検証(とりあえずShift_JIS)の為 <form method=GET> <INPUT TYPE="text" name="data1" value=""> <INPUT TYPE="hidden" name="data2" value="&Omega;"> <INPUT TYPE="submit" value="submit"> </form> というフォームを作って、data1に『&Omega;』と 入力してsubmitを行うと ?data1=%26Omega%3B&data2=%83%B6 と、data2はすでに『Ω』に変換されています。 同じく、EUC-JPでもコードこそ違え、同様でした。 西ヨーロッパ言語などの場合、『&#937;』に 変換された状態でうまく(?)行きます。 ブラウザ依存かと思い、IE6,Opera8.5で確認しましたが 同じでした。 これはsubmitでの仕様なのでしょうか? 対応は無理やりやるつもりですが、こうすれば 簡単にできるという事がありましたら教えていただけると ありがたいです。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
ANo.1の補足として、、、 <INPUT TYPE="hidden" name="data2" value="&Omega;"> とすると、Ω(をURLエンコードした物)が送られます。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
>これはsubmitでの仕様なのでしょうか? HTML4.01 でΩ が特殊文字として登録されているから HTML中で記述したΩ は、そのように扱われます。