設定

携帯アプリを開発するので全ての文字エンコーディングをシフトJISにしたいのですが…。

web.xmlでFreyjaServletに以下の設定をして下さい。

項目
pageEncoding Windows-31J
requestEncoding Windows-31J
responseEncoding Windows-31J
contentType text/html;charset=Windows-31J
useShiftJISInsteadOfWindows31J true
tagEvaluator.render.overwrite-content-type-meta-tag true

こうすることで、テンプレートファイルはWindows-31J、リクエストの文字エンコーディングもWindows-31J、レスポンスの文字エンコーディングもWindows-31Jとしつつ レスポンスのContent-TypeのcharsetだけをShift_JISにすることができます(これはセキュリティ上重要です)。

また、テンプレートファイル中に<meta>タグでContent-Typeを書く場合も"text/html;charset=Windows-31J"として下さい (<meta>タグ中のcharset指定もレスポンスとして出力される際にははShift_JISに置換されます)。

なお全ての文字エンコーディング指定をShift_JISにしても問題ありませんが、その場合はいわゆる機種依存文字などが扱えなくなります。