アプリ版:「スタンプのみでお礼する」機能のリリースについて

本質的にはPerlではないのですが、Perlの
処理中で起こったのでこちらで・・・・

現在FAQページとFAQを登録するページがあり、
入力 → 確認 → 登録・完了
という流れでページの移行を行っています。
#ちなみにShift_JISです。

日本語だけでなく英語でのFAQを登録する際
『Ω』を入力したかったのですが、当然全角は無理
なので『Ω』で登録しました。
が、登録し終わったDBを見ると『Ω』で登録されていました。

そこで、処理を追いかけていて気づいたのですが
確認画面でhiddenとして入れておいた"Ω"が
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での仕様なのでしょうか?

対応は無理やりやるつもりですが、こうすれば
簡単にできるという事がありましたら教えていただけると
ありがたいです。

A 回答 (2件)

ANo.1の補足として、、、



<INPUT TYPE="hidden" name="data2" value="&amp;Omega;">

とすると、&Omega;(をURLエンコードした物)が送られます。
    • good
    • 0

>これはsubmitでの仕様なのでしょうか?


HTML4.01 で&Omega; が特殊文字として登録されているから
HTML中で記述した&Omega; は、そのように扱われます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!