Play 2.2:不了解与DB相关的application.conf配置的一部分

时间:2013-11-03 11:47:02

标签: scala playframework

我正在开发使用anorm访问我的数据库的Play应用程序。 所以这是我的application.conf

的一部分
db.default.driver=com.mysql.jdbc.Driver
db.default.url="jdbc:mysql://localhost:3306/bubusik?characterEncoding=UTF-8"
db.default.user=root
db.default.password="*********"

如果我删除了?characterEncoding=UTF-8部分,那么任何不是英语的东西都会像????????? DB中的问号。 所以我想知道这个配置究竟是什么设置的? 请注意,我的数据库架构的默认字符集是UTF-8以及所有表格。

1 个答案:

答案 0 :(得分:1)

配置文件的这一部分设置JDBC驱动程序,它将应用程序连接到数据库。 db.default.url用于设置与MySql数据库的连接。由于Play / Scala在Java虚拟机上运行,​​因此您的应用程序以UTF-16编码保存字符串。 characterEncoding参数定义数据库期望接收文本字符串的字符集。

那么?characterEncoding = UTF-8通知驱动程序代码在将JDBC请求发送到MySql之前需要将字符串从UTF-16映射到UTF-8。如果目标编码与数据库的编码不匹配,那么将使用错误的规则集解码JDBC请求中的字符串格式。

有关详细信息,请参阅:Using Character Sets and Unicode