Pebble日本語化&改造ログ
  全カテゴリ | Blog News | Bugs | Changes | Other Blogware
 
<< ごあいさつ | Home | XML-RPCでの投稿で文字化け[FIXED] >>
JSPで日本語にすると文字化け[FIXED]


すべてのJSPファイルにおいて日本語で記入すると文字化けします。



文字コードはUTF-8で保存しています。Shift_JISなどでも同様に文字化けとなります。(化けた表示はUTF-8とは異なる)



これはTomcatがコンパイルする際の文字エンコードの問題です。
すべてのJSPコードの先頭に、
<%@ page contentType="text/html; charset=utf-8" %>
を入れておかないとデフォルトの文字コードでコンパイルされてしまいます。
さらに、
<@ include ...>
で静的にインクルードされるJSPに上記pageディレクティブを入れると重複するとしてコンパイルエラーになりますので、
これらファイル(Pebbleの場合は*.jspf)の先頭には、
<%@ page pageEncoding="utf-8" %>
を挿入します。
*.jspfのページディレクティブにpageEncodingを入れるとTomcat4.Xではmultiple.pageencodingでコンパイルエラーになるようです。

静的なインクルードをしなければOKですが修正が面倒なので動作環境をTomcat5以上とすることにします。
コメント追加

タイトル
名前
E-mail
Webサイト
本文
情報保存 する  しない
  • 情報保存をすると次回からお名前等を入力する手間が省けます。
  • E-mailは公開されません - このエントリーの新規コメント通知が必要なら記入します。

このエントリーのトラックバックURLを表示