我正在使用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