1

使用以下模型:

case class Link(url: String, title: String, image: Option[String])

我尝试将一些 utf-8 编码的字符串保存到 mysql db:

Db.save(Link("http://test2.com", "測試中文", None))

但是发生了一件悲惨的事情,我看到了' ???? '而不是mysql中的'测试中文'。

我仔细检查了我的 mysql 中的设置,数据库和表都使用 utf-8 正确配置。我在这个数据库上使用休眠,utf-8 字符也正确显示。所以这一定是一个 SORM 问题。

我们也可以在 SORM 中配置 utf-8 吗?

4

1 回答 1

2

我想到了。

在连接 url 中,我们必须添加 ' useUnicode=true&characterEncoding=UTF-8 '。

因此,总体配置如下所示:

import sorm._
object Db extends Instance(
  entities = Set( Entity[Link]() ),
  url = "jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=UTF-8"
)
于 2013-08-16T21:05:25.063 回答