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