2013-04-05 88 views
2

我正在使用播放框架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]] 

当然,我期待看到在这一点上,这是一个表情图标内发生的事情。

有没有一个字符编码我需要改变玩?任何想法表示赞赏!

感谢

回答

0

添加 'SET NAMES utf8mb4' 查询解决了这个问题之前。

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

了useUnicode =真&的characterEncoding = UTF-8

+0

这不起作用作为编码是在服务器侧utf8mb4。我没有运气就试过这个。 – MichaelM 2013-04-08 19:17:35