Tsutomu Yano
benbr****@mac*****
2008年 12月 3日 (水) 02:46:26 JST
矢野です。 Jettyを使ってやってみたところ、再現しました。 表示されているページはJettyのエラーページで、ソースをみたところ、Jettyのエラーページは HTTPヘッダに文字コードとしてISO-8859-1を指定してしまうために、日本語が文字化けするようです。 Wicketから処理がはなれたあとにJettyで起こっている問題です。 Wicketで対処するよりはコンテナで対処するほうがいいでしょう。 サーブレットコンテナでは、web.xmlを使ってHTTPステータスコードごとにエラーページを指定できる ようになっています。 Jettyももちろん(サーブレットコンテナですから)web.xmlをきちんと参照するので、ここで設定すれば HTTPステータスコードごとに任意のエラーページを表示できます。 web.xmlに次のようなタグを加えると、/WEB-INF/error500.jsp に遷移します。 <error-page> <error-code>500</error-code> <location>/WEB-INF/error500.jsp</location> </error-page> ここではJSPにしましたが、HTMLでもOKのはずです。 試してみてくださいな。 On 2008/11/29, at 10:24, Osamu Otani wrote: > 矢野さま > > > getString()から日本語メッセージを取得しても、直接書いても同じ状況です。 > > >> ・ディプロイしているAPサーバはなにか?(Tomcat? Glassfish?) > > jetty-6.1.4を使っています。 > > >> ・Applicationクラスのinit()メソッドで、getRequestCycleSettings().setResponseRequestEncoding() >> メソッドを使って出力エンコーディングを指定しているかしてないか。してるなら何にしてるか。 > > init()では、 > getRequestCycleSettings().setResponseRequestEncoding( "utf-8" ); > getMarkupSettings().setDefaultMarkupEncoding( "utf-8" ); > やら、mountBookmarkablePage()、IResourceSettings#addResourceFolder()、IResourceSettings#setResourceStreamLocator() > を設定しています。 > > >> ・Apache HTTP ServerなどとAPサーバを組み合わせて使っているか、APサーバだけで使っているか。 > > jetty-6.1.4だけです。 > --------------------------------------------------- 矢野 勉(やの つとむ) 電子メール:benbrand_at_mac.com ---------------------------------------------------