Mysql支援emoji表情儲存

2021-07-23 15:51:40 字數 1584 閱讀 5991

正常使用uft-8方式儲存是不能儲存emoji表情文字的,主要原因是uft8位元組不夠,導致儲存不了,需要更改為uft8mb4,下面說說具體操作步驟:

1、需要你的mysql資料庫版本在5.5以上;

2、更改你的資料庫,表,以及需要儲存emoji列的編碼方式;

# 對每乙個資料庫:

alter

database 這裡資料庫名字 character

set = utf8mb4 collate = utf8mb4_unicode_ci;

# 對每乙個表:

alter

table 這裡是表名字 convert to

character

set utf8mb4 collate utf8mb4_unicode_ci;

# 對儲存emoji表情的字段:

alter

table 這裡是表名字 change 欄位名字 欄位名字 varchar(191) character

set utf8mb4 collate utf8mb4_unicode_ci;

utf8mb4完全向後相容utf8,無亂碼或其他資料丟失的形式出現。理論上是可以放心修改,如果您不放心修改,您可以拿備份恢復資料

3、修改my.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

4、修改伺服器資料庫連線配置

把連線上面的characterencoding=utf-8去掉

5、重啟mysql資料庫

這個時候應該就可以儲存emoji表情了,你還可以登入資料庫,查詢看下

show variables where variable_name like

'character\_set\_%'

or variable_name like

'collation%';

如下:

還可以查詢下具體的表,如下,文字欄位已是uft8mb4;

最後,還可以用以下兩條命令對錶進行修復和優化,跑到這一步其實沒有任何必要修復和優化表,為了保險起見,我還是執行了這兩條命令,雖然不知道它有什麼卵用,放在這裡做個筆記吧

repair table 表名字;

optimize table 表名字;

Mysql支援emoji表情

教程所示使用的是 github 倉庫,網速過慢的朋友請 原文 mysql 支援 emoji 表情。更多討論或者錯誤提交,也請移步。最近為部落格新增了emoji表情,所以需要資料庫支援utf8mb4編碼。伺服器安裝的資料庫是mysql 5.7。網上很多方法是通過命令列設定字符集編碼格式,但是經過嘗試,...

Mysql支援emoji表情

教程所示使用的是 github 倉庫,網速過慢的朋友請 原文 mysql 支援 emoji 表情。更多討論或者錯誤提交,也請移步。伺服器安裝的資料庫是mysql 5.7。網上很多方法是通過命令列設定字符集編碼格式,但是經過嘗試,都以失敗告終。摸索後發現,需要更改mysql的配置檔案。首先,備份原來的...

MySql支援Emoji表情儲存

utf8mb4和utf8的區別如下 utf8乙個字元最多3位元組,而utf8mb4則擴充套件到乙個字元最多能有4位元組,所以能支援更多的字符集。mysql 需要支援 emoji 表情符號版本需要大於5.5.3,且字符集需要設定為utf8mb4 字符集。1 設定資料表結構字符集 alter table...