MyFacesの文字化け(状況のまとめ)

まだ解明しきれていない。

  • JBoss 3.2.7
  • Windows XPFreeBSD上で起きる
  • ブラウザはIEでもFireFoxでも起きる。
  • 起きるマシンと起きないマシンがある。JavaVMやJBossのわずかなバージョン差などが関係するのか?
  • .jsfファイル中に直接日本語を記述してある箇所が化ける。JSFのタグ(outputTextなど)に記述した日本語は化けない。
  • content-typeにセットしたエンコードにならず,そこだけプラットフォームデフォルトの文字コードで送られてくる。
  • httpヘッダはcontent-typeにセットしたものを返してくるので,ブラウザが混乱して文字化け。
  • Javaソースに変換後のJSPを見ると,文字列は普通にUTF-8の日本語だった。
  • そもそもJSFではjsp中に直接日本語を書いてはいけないのか? そんなことないよね。
  • MyFacesのバグデータベースには「出力エンコーディングUTF-8のときには,マルチバイトの文字列をUniCodeエスケープする必要はない」というのがあがっている。似ているようで逆。パッチもあがっているので試す価値はあるかも。