1. 程式人生 > >Mysql插入中文報錯

Mysql插入中文報錯

插入語句:insert into person(id,name,age,sex)values(1,’黃蓉’,24,’女’);
報錯:Incorrect string value: ‘\xBB\xC6\xC8\xD8’ for column ‘name’ at row 1
這裡寫圖片描述
分析:這是中文亂碼的原因,深層原因是UTF-8編碼有可能是兩個、三個、四個位元組。Emoji表情或者某些特殊字元是4個位元組,而Mysql的utf8編碼最多3個位元組,所以資料插不進去。
解決方案:
1.在mysql的安裝目錄下找到my.ini,作如下修改:
[mysqld]
character-set-server=utf8mb4
這裡寫圖片描述


2.修改已經建好的錶轉換成utf8mb4
alter table person convert to character set utf8mb4 collate utf8mb4_bin;
最終成功。結果如下:
這裡寫圖片描述
參考:網路資源(關鍵字可以直接將報錯輸入瀏覽器進行搜尋)。