簡體   English   中英

JOOQ表情符號(utf8mb4)支持

[英]JOOQ emoji (utf8mb4) support

我們嘗試使用JOOQ在MySQL 5.6數據庫中存儲和讀取表情符號。 數據庫,表和列使用字符集utf8mb4和collat​​ion utf8mb4_unicode_ci。 使用MySQL Workbench,我可以創建並選擇表情符號。 所以數據庫應該准備好了。

但是當我用JOOQ存儲表情符號時,我得到:字符串值不正確:'\\ xF0 \\ x9F \\ x98 \\ x80'表示第1行的'test'列

 DSLContext dslContext = DSL.using(dataSource, SQLDialect.MYSQL);

 dslContext.insertInto(table)
                .set(testRecord)
                .returning()
                .fetchOne();

檢索我用MySQL Workbench存儲的表情符號工作正常。

要在應用程序中使用utf8mb4,請確保在服務器級別或執行查詢之前進行設置。

有兩種方法:

  1. 服務器級別:將character_set_server = utf8mb4添加到my.cnf或“set global character_set_server = utf8mb4”

  2. 在運行查詢之前:“set names utf8mb4”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM