[Seasar-user:2379] Re: s2jsf 携帯電話での文字化けについて
Yamoto Takuhei
yamo
2005年 7月 16日 (土) 19:17:34 JST
八本と申します。
> s2jsfで作成したアプリを、自分の携帯(au)で確認した結果、
> s2jsfで出力されたページの動的なマルチバイト文字列が、
> 文字化けしてしまいます。
私も(S2JSFは使ってませんが)MyFacesを携帯向けサイトに利
用できるかどうかを調査した際に上記問題が出てきました。
SunのJSF-RIやIBM、OracleのJSF実装でも同様の問題が発生す
るようです。
当方ではMyFacesの下記メソッドを改竄してmyfaces.jarを再構
成し、携帯向けサイトではそちらのjarを使ってもらうように
しています。
org.apache.myfaces.renderkit.html.util.UnicodeEncoder#encode()
org.apache.myfaces.renderkit.html.util.HTMLEncoder#encode()
本来なら
・出力方法を変えるためにResponseWriterを差し替える
・ResponseWriterを差し替えるためにRenderKitを差し替える
というのが筋なのだと思いますが、RenderKitの差し替えが
結構面倒そうなのと、そもそもJSF-RIのソース自体がいまいち
な作り(*1)になっているように見えたため、上記の対応にしま
した。
(*1)
コメントにPENDINGがたくさん入っているところと、Writerに
エンコーディング設定しているクセにWriterに流し込む前に
ことごとく文字参照に変換してASCIIにしちゃうところ
--
Yamoto Takuhei
yamo @ lares.dti.ne.jp
Seasar-user メーリングリストの案内