my存入表情符號emoji MYSQL: Caused by: java.sql.SQLException: Incorrect string value:

首先數據庫存入emoji表情數據庫字符集需要是uft8mb4 字符集. uft8mb4 是utf-8的超集

添加emoji表情sql

UPDATE `so` SET `delivery_remark`=x'F09F9A8A' WHERE `id` = 14497144169653;

如果程序不行就看這三部

    (1)修改mysql數據庫的編碼爲uft8mb4
    (2)修改數據表的編碼爲utf8mb4
    (3)修改連接數據庫的連接代碼

                                     重啓數據庫

修改數據庫字符集 character_set_server 後一定要重啓數據庫要不不生效本人踩過坑。

注意:

  • mysql的版本不能太低,低於5.5.3的版本不支持utf8mb4編碼。
  • 若出現仍未生效的情況,可考慮修改mysql數據庫對於字符的配置,以及相應的表對於字符的配置。
  • 對於5.1.46及更早版本jdb-connector,要使用utf8mb4字符集進行連接,服務器必須配置character_set_server=utf8mb4;如果不是這樣,則在連接字符串中使用UTF-8進行字符編碼時,它將映射到MySQL字符集名稱utf8,這是utf8mb3的別名。
  • autoReconnect=true : 如果你已經升級好了mysql-connector,其中的characterEncoding=utf8可以被自動被識別爲utf8mb4(當然也兼容原來的utf8),而autoReconnect配置我強烈建議配上,我之前就是忽略了這個屬性,導致因爲緩存緣故,沒有讀取到DB最新配置,導致一直無法使用utf8mb4字符集,多麼痛的領悟!!

數據庫鏈接字符串

characterEncoding=utf-8
character_set_server=utf8mb4

 

 

參考:https://www.cnblogs.com/chyingp/p/mysql-character-set-collation.html

官網說明:https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-charsets.html

參考:https://blog.csdn.net/hzw19920329/article/details/55670782

參考:https://www.cnblogs.com/silenceshining/p/12556131.html

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章