mysql 儲存 特殊字元 Emoji 出錯。
阿新 • • 發佈:2018-12-12
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?