1. 程式人生 > >mysql 儲存 特殊字元 Emoji 出錯。

mysql 儲存 特殊字元 Emoji 出錯。

Incorrect string value: '\xF0\x9F\x90\xA3' for column 'name'

這個問題,原因是UTF-8編碼有可能是兩個、三個、四個位元組。Emoji表情或者某些特殊字元是4個位元組,而Mysql的utf8編碼最多3個位元組,所以資料插不進去。 我的解決方案是這樣的 1.在mysql的安裝目錄下找到my.ini,作如下修改: [mysqld] character-set-server=utf8mb4 [mysql] default-character-set=utf8mb4 修改後重啟Mysql

--------------------- 本文來自 戰鬥機金頭蠻 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/u010737354/article/details/52456668?utm_source=copy

修改完畢只有,需要在建立表的時候設定上編碼

ENGINE=InnoDB AUTO_INCREMENT=33 CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci'

在字元也加上 `name` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL 

在資料庫連線地址上加上 useUnicode=true&zeroDateTimeBehavior=convertToNull

這樣就可以把值加入到資料庫中 

eg:

複製粘貼出來就是:Noodlescar?