play框架中的西里尔语编码问题

时间:2014-11-27 14:10:44

标签: mysql playframework character-encoding playframework-2.3

本地环境中,所有编码都可以,但是当我在服务器上运行我的应用程序(ubuntu)并执行POST时,请求正文中的json的cyryllic字符转入└在控制器中я▀п╡я└п╟я▀я└'(,因为它证明它只是终端问题):

def editUser = SecuredAction(WithRole(ADMIN)).async(parse.json) { implicit request =>
  log.debug(request.body) // here I have └я▀п╡я└п╟я▀я└' instead of cyrillic characters

我检查了请求标头:

Accept:application/json
Accept-Encoding:gzip, deflate
Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Connection:keep-alive
Content-Length:192
Content-Type:application/json; charset=UTF-8

也许有些人遇到过这种情况。 THX!

1 个答案:

答案 0 :(得分:0)

问题出在mysql中,答案是:

我添加了 useUnicode = true& characterEncoding = UTF-8:

db.default.url="jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=UTF-8"

但它没有帮助。所以我在服务器上添加了my.etc:

[mysql]
default-character-set=utf8

[mysqld]
character-set-server=utf8

OK!