[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 メーリングリストの案内