Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用MySql和表情符号流畅_Mysql_Scala_Slick - Fatal编程技术网

使用MySql和表情符号流畅

使用MySql和表情符号流畅,mysql,scala,slick,Mysql,Scala,Slick,我正在尝试使用Slick将emojis持久化到MySQL表中的一列 我有一个my.cnfconfig文件,该文件具有以下与字符集相关的设置: [mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init-connect='SET NAMES utf8mb4' 我的jdbc字符串如下所示: url = "j

我正在尝试使用Slick将emojis持久化到MySQL表中的一列

我有一个
my.cnf
config文件,该文件具有以下与字符集相关的设置:

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init-connect='SET NAMES utf8mb4'
我的jdbc字符串如下所示:

url = "jdbc:mysql://localhost/mydb?useLegacyDatetimeCode=false&serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8"
现在,一开始我不确定
characterEncoding
参数是否只使用“UTF-8”,但从我在将其与
useUnicode=true
参数组合时所读到的信息来看,它应该可以工作

当Slick执行以下sql时:


insert-into`content`(`id`,`title`)值('f1291f0d-eeee-4379-84ef-5d62e2870407','这是一个emoji,我对MySQL不太了解。但是您在
my.cnf
中指定
characterset server=utf8mb4
,在连接字符串中指定
characterEncoding=UTF-8
。根据手册(),utf8是utf8mb3的别名,UTF-8一点也没有提到。您是否尝试过将
characterEncoding
设置为
utf8mb4
或将其完全删除?@MatthiasBerndt细节有点模糊,但我的理解是,通过添加
useUnicode=true
,它应该告诉它使用
utf8mb4
。我会变瘦k
character set client handshake=false
设置应该使我在jdbc字符串中传递的任何内容都变得毫无意义!
useUnicode
似乎根本不存在。手册中没有提到它:哦,记住我使用的是MySQL 5,还有连接器v5.1.26。这里提到的选项是针对5.1.x连接器的:我将y一个最新版本的5.1连接器(除非我可以使用v8连接器???)哦,真的!