Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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_Playframework_Emoji - Fatal编程技术网

Mysql 表情符号插入游戏框架

Mysql 表情符号插入游戏框架,mysql,scala,playframework,emoji,Mysql,Scala,Playframework,Emoji,我正在使用play framework 2.0.x,我在使用表情符号插入时遇到了问题,似乎SQL类正在将这些内容转换为映射字符串值,而不是我试图插入的正确字符。我已经在MySQL上测试过了,并且在utf8mb4设置下工作得非常完美,这只发生在使用play进行插入时,我将其缩小到在插入之前进行转换的任何正在构建查询的内容 可以清楚地看到在SQL对象内的查询中发生的转换 SQL( """ UPDATE users SET

我正在使用play framework 2.0.x,我在使用表情符号插入时遇到了问题,似乎SQL类正在将这些内容转换为映射字符串值,而不是我试图插入的正确字符。我已经在MySQL上测试过了,并且在utf8mb4设置下工作得非常完美,这只发生在使用play进行插入时,我将其缩小到在插入之前进行转换的任何正在构建查询的内容

可以清楚地看到在SQL对象内的查询中发生的转换

SQL(
                  """
                      UPDATE users SET 
                      first_name={fname}
                      , last_name={lname}
                      , email={email}
                      , birthdate={bday}
                      , gender={sex}
                      WHERE user_id={userId} 
                  """
                  ).on(
                      'userId -> userId,
                      'fname -> fname,
                      'lname -> lname,
                      'email -> email.trim,
                      'bday ->bday,
                      'sex -> gender
                  ).executeUpdate()

Execution exception [[SQLException: Incorrect string value: '\xF0\x9F\x98\x9A' for column 'first_name' at row 1]]

当然,我希望此时会看到一个表情图标,它是在查询解决此问题之前添加“SET NAMES utf8mb4”。

在查询解决此问题之前添加“SET NAMES utf8mb4”

db.default.url="jdbc:mysql://127.0.0.1/test?useUnicode=true&characterEncoding=UTF-8"
useUnicode=true&characterEncoding=UTF-8


useUnicode=true&characterEncoding=UTF-8

这不起作用,因为服务器端的编码是utf8mb4。我尝试了这个,但没有成功。这不起作用,因为服务器端的编码是utf8mb4。我试过了,但运气不好。