關於資料庫儲存emoji問題

2021-09-29 10:41:55 字數 916 閱讀 2170

在linux上查詢my.cnf

sudo find /

-name my.cnf

修改配置檔案

[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

##關閉

service mysqld stop

##重啟

service mysqld start

記住之前自己建立的**是不會變為utf8mb4字符集的所以需要自己修改

可以先檢視自己的乙個資料庫表的字符集

show

full

columns

from tablename;

然後修改自己要存貯emoji字符集的列

alter

table tablename modify 列名 longtext

charset utf8mb4;

對於mysql字符集我們不想出現亂碼情況有乙個經驗就是character_set_client、character_set_connection、character_set_results字元盡量設定成一致的

mysql資料庫儲存emoji注意事項

設定資料庫表字段為資料型別 utf8mb4 儲存表情字段以及查詢用到的相關varchar型別字段,如果儲存表情欄位不在查詢語句 現,可以只設定儲存欄位為utf8mb4型別 可能出現異常 敲黑板啦,很重要 要防止出現 illegal mix of collations utf8 general ci,...

emoji表情儲存到資料庫的方法

為什麼我們設定表的的字元型別為utf8卻不能存放emoji呢?原來utf8可能是2或3或4個位元組,而mysql的utf8是3個位元組,存放乙個emoji是需要4個位元組的,自然不夠。mysql資料庫在5.5.3之後開始支援utf8mb4字符集,所以mysql版本是5.5.3 的都可以設定讓資料庫儲...

如何在mysql資料庫中儲存emoji特殊字元

mysql在5.5.3版本之後增加了這個utf8mb4的編碼,mb4就是most bytes 4的意思,專門用來相容四位元組的unicode。其實,utf8mb4是utf8的超集,理論上原來使用utf8,然後將字符集修改為utf8mb4,也 會不會對已有的utf8編碼讀取產生任何問題。1.修改dat...