アプリケーション仕様ファイルにて、プロパティ値
をともに、Shift_JISにしていたのですがこれでは、"〜"などが
文字化けしてしまいます。(Tapestry4.x系では、meta要素になります。)
UTF-8にするのが一番いい方法だとおもうのですが、それができない場合もあります。
その場合は、上記の2つの値を
にすると、化けずに表示されます。(Tapestryに限らず、Javaのサーバーサイド側では
よく知られていることですが)
ただ、文字コードをWindows-31JというWindows系べったりのエンコーディングにしたので
MACではどうかと心配になりましたので、ちょっとだけ確認してみました。
結果は、
- Windows(XP Pro)
- IEはOK
- Firefox(1.5.0.6)はOK
- Mac(OSのバージョンは確認してません・・すみません.恐らくかなり新しい奴だと思われます.)
でした。
とりあえず、上記のように設定しておけば、"〜"(ニョロ)やはしご高とかがちゃんと表示されます。
追記:
ちなみに、〜などが化けてしまう状態になるのは、InsertやInsertTextなどのデータ表示系コンポーネントにて
<binding name="raw">ognl:true</binding>
としている場合に発生します。rawをfalse(デフォルト)にしている場合、ascii以外の文字はUNICODEエスケープされて
数値の文字参照(#xxxx)になります。この場合、手元の環境(J2SE 1.5, Tapestry 4.0)ではShift_JISでも化けませんでした。
rawをtrueにすると文字参照をしなくなり、そのままの文字列が表示されます。その場合に化けました。
この設定が正しいかどうか今一自信がありませんので、Tapestryの文字コード周りに詳しい方がいらっしゃったら、
ご教授くださいませm(_ _)m