Play フレームワークの scala.html などの文字エンコード自動判別を無効化
Eclipse には JSP や HTML の文字エンコードを内容により自動的に判別する機能があります。ただ、これは JSP に include する断片ファイルや Play 2.0 フレームワークの scala.html のように meta charset 指定などが無い部分的な HTML を持つ場合、UTF-8 が Shift_JIS と誤って判定され文字化けが発生します。
回避策として、下記の方が記載されているように、ファイルごとに文字エンコードを指定すれば対応可能ですがこれは面倒です。また、eclipse.ini に -Duser.language=en を指定すれば回避できますが、これは日時表記が英語になる問題があります。
htmlを開くと文字化けするとき - newta(にゅーた)の日記
原因は Dead Zone に記載されているように WST の日本語向けの自動判別のバグで、Eclipse 3.3 以降から現在の Juno でも改修されていません。
http://blog.goo.ne.jp/atlanto/e/f9c32302055b47f3521df3ee0967992d
Pleiades AOP で実行時にバグ修正: HTML 判別を無効化
そもそも内容から完全に文字コードを判別することはできないので Pleiades AOP で動的に無効化します。pleiades-config.xml に下記の AOP 定義を追加し -clean 起動することで回避できます。ちなみに meta タグに charset 指定がある場合はこの AOP 定義に関係なくそれが優先して使用されます。この AOP 定義は次回リリースの Pleiades に組み込む予定です。
plugins/jp.sourceforge.mergedoc.pleiades/conf/pleiades-config.xml
<!-- HTML 日本語文字エンコーディング自動判別無効化 (after) --> <pointCut editPoint="execution" timing="after"> <advice><![CDATA[ return false; ]]></advice> <jointPoint className="org.eclipse.wst.html.core.internal.contenttype.EncodingGuesser" methodName="canGuess"/> </pointCut>