2013-04-05 86 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