1. 程式人生 > 其它 >解決mysql插入微信暱稱nickname出錯Incorrect string value: ‘\xF0\x9F\x8C\xB8’ for column ‘nickName’ at row 1

解決mysql插入微信暱稱nickname出錯Incorrect string value: ‘\xF0\x9F\x8C\xB8’ for column ‘nickName’ at row 1

技術標籤:筆記資料庫mysql資料庫

由於mysql預設編碼為utf-8,最大隻佔3個位元組,一些表情或者非常見字元,比如該例子中“xF0\x9F\x8C\xB8”佔4個位元組,這樣往資料表裡插入4個位元組的資料就會出錯。

將相應資料庫和資料表的編碼由utf8修改為utf8mb4。

解決辦法:

將相應表的nickname欄位的編碼格式由utf8改為utf8mb4。

ALTER TABLE weaccount MODIFY COLUMN nickname VARCHAR(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

檢視一下修改結果:

show create table weaccount;

如果nickname欄位的編碼格式顯示為utf8mb4,說明修改成功。