我正在使用Squeryl处理MySQL数据库。这些表采用utf8mb4编码。现在,我想通过Squeryl将一些utf8(4字节)字符串插入数据库。我怎么做?

我试图将?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

最佳答案

确保不要以root身份连接。

my.cnf中(在[mysqld]部分中)

init_connect = SET NAMES utf8mb4

09-03 23:50