Why Play escapes many characters?
Because Play uses
org.apache.commons.lang.StringEscapeUtils.escapeHtml.
I think it should be replaced with Commons Lang 3.x.
% sbt
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
[info] Set current project to default-7cb4b4 (in build file:/Users/kzys/hello/)
> console
[info] Starting scala interpreter...
[info]
Welcome to Scala version 2.9.1.final (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_29).
Type in expressions to have them evaluated.
Type :help for more information.
scala> org.apache.commons.lang.StringEscapeUtils.escapeHtml("\u3041")
res0: java.lang.String = ぁ
scala> org.apache.commons.lang3.StringEscapeUtils.escapeHtml4("\u3041")
res1: java.lang.String = ぁ
scala>
Play already has a pull request to upgrade Commons Lang.