解決方案:將mysql的編碼從utf8轉換成utf8mb4。
需要 >= mysql 5.5.3版本、從庫也必須是5.5的了、低版本不支援這個字符集、複製報錯
停止mysql server服務
修改 my.cnf或者mysql.ini
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = false
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='set names utf8mb4'
重啟 mysql server、檢查字符集
修改資料庫字符集:
alter database database_name character set = utf8mb4 collate = utf8mb4_unicode_ci;
修改表的字符集:
alter table table_name convert to character set utf8mb4 collate utf8mb4_unicode_ci;
修改欄位的字符集:
alter table table_name change column_name column_name varchar(191) character set utf8mb4 collate utf8mb4_unicode_ci;
如果只是某個字段需要 只需要修改那個欄位的字符集就可以了
另外伺服器連線資料庫 connector/j的連線引數中,不要加characterencoding引數。 不加這個引數時,預設值就時autodetect。
讓mysql支援emoji表情
原因找到了就很好辦,mysql5.5.3之後的版本支援utf8mb4編碼,這種編碼是utf8的公升級版,用的是4個位元組進行儲存。所以需要做的就是把mysql字符集從utf8公升級為utf8mb4就行了。雖然utf8mb4相容utf8,但最好還是作個資料庫備份。這個就不說了,根據你的伺服器系統做my...
讓MySQL支援Emoji表情 mysql 5 6
首先將我們資料庫預設字符集由utf8 更改為utf8mb4,對應的表預設字符集也更改為utf8mb4 已經儲存表情的字段預設字符集也做了相應的調整。sql 語句如 修改資料庫 alter database database name character set utf8mb4 collate utf...
Mysql支援emoji表情
教程所示使用的是 github 倉庫,網速過慢的朋友請 原文 mysql 支援 emoji 表情。更多討論或者錯誤提交,也請移步。最近為部落格新增了emoji表情,所以需要資料庫支援utf8mb4編碼。伺服器安裝的資料庫是mysql 5.7。網上很多方法是通過命令列設定字符集編碼格式,但是經過嘗試,...