mysql字符集選用utf8mb4

2022-02-07 19:28:51 字數 681 閱讀 7007

由於歷史的原因,mysql在5.5.3以前的版本提供的utf8字符集並非是真正的utf8,它只是utf8的乙個子集,提供有限的utf8支援。從mysql5.5.3開始,mysql更改了內部細節實現,增加了乙個utf8mb4字符集,支援真正的unicode,長度由之前的最大3位延伸到4位,比如表情符之類的字集終於可以貯存到mysql。

無論mysql提供的是舊版本utf8字集還是utf8mb4,php 都能正確處理。

如果你的mysql版本支援utf8mb4,那麼最好在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中,變數名分隔符使用-或 _都是正確的,最好統一。

其它地方參考這裡。

ubantu解決mysql字符集utf8問題

以下綜合多個文件結合自己遇到的問題記錄的,僅做參考 修改my.cnf配置 sudo vim etc mysql my.cnf 加入mysql配置 mysqld character set server utf8 client default character set utf8 mysql defa...

修改mysql 字符集為UTF 8

1.從 usr share mysql 中拷貝 my large.cnf 到目錄 etc下,並改名字為 my.cnf 2.修改my.cnf 在檔案中找到 client 在其下面新增 default character set utf8 在 mysqld 下面加入 default character ...

MySQL字符集utf8與utf8mb4

mysql在5.5.3之後增加了這個utf8mb4的編碼,mb4就是most bytes 4的意思,專門用來相容四位元組的unicode。mysql支援的 utf8 編碼最大字元長度為 3 位元組,如果遇到 4 位元組的寬字元就會插入異常了。三個位元組的 utf 8 最大能編碼的 unicode 字...