尾崎智仁
ozaki****@yuroy*****
2008年 4月 15日 (火) 23:46:30 JST
尾崎です。 やはり、encodeURIComponent()を使用している以上、 サーバ側ではUTF-8でエンコードするのが正しい動作ですね。 ただ、フォームをUTF-8で送信すると、Shift_JIS固有の文字で 化けそうではありますが。 英語力にはまったく自信がないので、バグ報告していただけるのは 助かります。 対応されたら、バージョンアップしようと思います。 皆さん、どうもありがとうございました。 08/04/15 に 矢野 勉 <benbr****@mac*****> さんは書きました: > > 矢野です。 > > Filterで解決したとのことでよかったです。 > > UTF-8とsetCharacterEncoding()の件ですが、これは私の考えでは > Wicketのバグです。まあ、setCharacterEncoding()すること > 自体は正しいのですが。 > > 通常HTMLフォームは自分が今使っている(表示に使った)文 > 字エンコードを使って情報を送信します。Wicketはページ表 > 示の際のコードとしてsetResponseRequestEncoding()の値を > 使うので、フォームを受け取る際もこのコードを使うのは正しい。 > > ただしAjaxButtonによるサブミットとなると話は別で、ここ > で使われているencodeURIComponent()関数は、ECMAScript > 仕様によって文字をUTF-8にエンコードして送信することに > なっています。Wicketの一部であるAjaxButtonが内部で > encodeURIComponentを使っている以上、それを受け取る際に > UTF-8として読み込むのはWicketの仕事であるはずで、そう > なってないのは単なるバグだと思います。 > > 文字エンコーディングであまり苦しむことのないアルファベット圏 > の人たちはUTF-8でやれば動くからこれで解決!と安易に考え > がちなので、2バイト文字文化圏からガンガンいってやらないと分 > からないかと思います。 > > 幸い今回はFilterでAjaxコンポーネントからのサブ > ミットを検知する方法まで分かっていますし、ざっとみてみたら > WicketFilterのdoGet()メソッド内部で > setCharacterEncoding()しているのがすぐに見つかりましたから、 > あとでバグ報告しておこうと思います。 > > > --------------------------------------------------- > 矢野 勉(やの つとむ) > 電子メール:benbrand_at_mac.com > --------------------------------------------------- > > _______________________________________________ > Wicket-ja-user mailing list > Wicke****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user > -------------- next part -------------- HTMLの添付ファイルを保管しました... Download