【发布时间】:2018-04-11 06:42:17
【问题描述】:
我正在使用Squeryl 来处理 MySQL 数据库。这些表采用 utf8mb4 编码。现在我想通过 Squeryl 将一些 utf8 (4 byte) 字符串插入到数据库中。我该怎么做?
我尝试将 ?useUnicode=yes&characterEncoding=UTF-8 设置为我的连接 url,但显然,UTF-8 这里是 MySQL 的 3 字节,所以它不起作用。
我找到了this StackOverflow answer,但经过一番挖掘后,无论如何我都看不到将我的查询附加到SET NAMES utf8mb4;(不能更改数据库配置和环境)
示例字符串:อลิซร้องเพลงตามเลยค่ะ????????????
尝试插入字符串时出错:
Exception in thread "main" org.squeryl.SquerylSQLException: Exception while executing statement : Incorrect string value
【问题讨论】:
-
除了
?useUnicode=yes&characterEncoding=UTF-8之外还有charset=utf8mb4参数吗? -
遗憾的是,MySQL documentation 没有关于配置属性(见底部)
-
连接后不能立即执行
SET NAMES utf8mb4?
标签: mysql scala utf-8 utf8mb4 squeryl