1. 程式人生 > >mysql中新增資料時,報錯(incorrect string value:'\xf0\x9f ) 字元轉換不正確

mysql中新增資料時,報錯(incorrect string value:'\xf0\x9f ) 字元轉換不正確

原因是UTF-8編碼有可能是兩個、三個、四個位元組。Emoji表情或者某些特殊字元是4個位元組,而Mysql的utf8編碼最多3個位元組,所以資料插不進去。

在網上搜了一下解決問題的方案,我選了一個方案解決了。

1.在mysql的安裝目錄下找到my.ini,作如下修改:

[mysqld]

character-set-server=utf8mb4

[mysql]

default-character-set=utf8mb4

修改後重啟Mysql

2.將已經建好的表也轉換成utf8mb4
命令:

更改資料庫編碼:ALTER DATABASE caitu99 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

alter table TABLE_NAME convert to character set utf8mb4 collate utf8mb4_bin; (將TABLE_NAME替換成你的表名)

然後就OK了