[Wicket-ja-user 92] Re: 意見募集:AjaxButtonがShift_JISを正しくデコードしないバグの修正の件

Back to archive index

尾崎智仁 ozaki****@yuroy*****
2008年 5月 7日 (水) 11:15:15 JST


尾崎です。

回答についてですが、問題ないと思います。

Wicketのサポートするブラウザですが、下記のURLに
テストされているブラウザが記載されていました。
http://cwiki.apache.org/WICKET/faqs.html#FAQs-WhichbrowsershavebeentestedwithWicketAJAX%253F

一方、encodeURIComponentをサポートするブラウザのバージョンは、
以下の通りのようです。
  Windows :  IE6,IE7,IE8,FF1.5,FF2.0 ,NN7.1,OPERA8.5
  Mac : Safari2.0,FF1.5,FF2.0, NN7.1,OPERA8.5

つまり、Wicketが対象とするブラウザはほぼすべて、
encodeURIComponentをサポートするブラウザとなります。

よって、
「マルチバイト言語圏でWicketのAjaxコンポーネントを利用する場合、
encodeURIComponentをサポートするブラウザが前提である。」
これを前提として問題ないと思います。

というか、encodeURIComponentをサポートするブラウザ以外では、
Ajax以外でもWicket自体のサポート対象ではないということに
なりますので。


2008/05/05 2:22 Tsutomu Yano <benbr****@mac*****>:

> 矢野です。
>
> Wicket-ja-user 83にて、AjaxButtonがencodeURIComponent()にてデータをエンコードして送信するにも
>
> 関わらず、WicketがUTF-8でデコードしないケースがある件をバグ報告しましたが、本日バグ報告が更新され、
>
> 1.3.4で修正予定となりました。
>
>
>
> それでバグレポートに以下の質問が投げかけられました。
>
>
>
> >>
>
> i can apply this patch just fine, i am just thinking will it always be
> true?
> for example i see that we use an if:
>
> if (encodeURIComponent) {
>        return encodeURIComponent(text);
>    } else {
>        return escape(text);
>    }
> then we just escape()
>
> what happens then? Or is that encode always used?
>
> <<
>
> >翻訳>
>
> このパッチは適用できそうだね。ところで、このパッチで使われている条件は常に真なの
>
> かどうか考えあぐねてるんだ。例えば僕らは(AjaxButtonのエンコード処理で)次のような
>
> if文をつかってるんだけど。
>
> (ここに上記コード)
>
> ケースによってescape()を使うよね。
>
> この場合なにが起こるのかな?それともencodeURIComponentが常に使われると思っていいの
>
> かな?
>
> <<
>
>
>
> まあ、いまどきencodeURIComponentもサポートしてないブラウザを使うなという気もするのですが、
>
> ロジック的にはescape()が使われる可能性もあります。で回答をしたいので、みなさんに回答案が
>
> 的確であるかどうか教えてほしいです。
>
>
>
> 回答としては、
>
> ・escape/unescapeの動作は仕様化されておらず、ブラウザによって動作が違う
>
> ・もっとも数が多いと思われるIEは、独自の特別な方法でエンコードを行うため、IEのunescape以外
>
> ではデコードできない。サーバー側でこれを正しくデコードすることはほぼ無理と思っていい。
>
> ・そのため日本のようなマルチバイト圏では、escape/unescapeは決して使わない。
>
> ・encodeURIComponentでエンコードした値はJavaのURLDecoderで確実にデコードできる
>
> ・よってマルチバイト圏の意見としては、encodeURIComponentだけを使うべき
>
> ・しかしencodeもシングルバイトでは正しく動作するので、シングルバイト圏のユーザの利便性のために
>
> encodeを残した方がgoodだろう。
>
> ・マルチバイト圏はencodeURIComponentをサポートしないブラウザはAjaxを使う場合にはサポート対象外と
>
> することで対応するだろう。
>
>
>
> という感じで考えています。どうでしょうか?
>
>
> ---------------------------------------------------
> 矢野 勉(やの つとむ)
> 電子メール:benbrand_at_mac.com
> ---------------------------------------------------
>
> _______________________________________________
> Wicket-ja-user mailing list
> Wicke****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
Télécharger 


Wicket-ja-user メーリングリストの案内
Back to archive index