MySQL字符集utf8與utf8mb4

2022-09-24 00:48:11 字數 480 閱讀 9274

mysql在5.5.3之後增加了這個utf8mb4的編碼,mb4就是most bytes 4的意思,專門用來相容四位元組的unicode。

mysql支援的 utf8 編碼最大字元長度為 3 位元組,如果遇到 4 位元組的寬字元就會插入異常了。三個位元組的 utf-8 最大能編碼的 unicode 字元是 0xffff,也就是 unicode 中的基本多文種平面(bmp)。也就是說,任何不在基本多文字平面的 unicode字元,都無法使用 mysql 的 utf8 字符集儲存。包括 emoji 表情(emoji 是一種特殊的 unicode 編碼,常見於 ios 和 android 手機上),和很多不常用的漢字,以及任何新增的 unicode 字元等等。

要在 mysql 中儲存 4 位元組長度的 utf-8 字元,需要使用 utf8mb4 字符集,但只有 5.5.3 版本以後的才支援。為了獲取更好的相容性,應該總是使用 utf8mb4 而非 utf8.  對於 char 型別資料,utf8mb4 會多消耗一些空間

MySQL資料庫表的字符集UTF8與UTF8MB4

我們在使用phpmyadmin管理面板時,可以在首頁看到名為 server connection collation 伺服器連線排序規則 的選項,用來選擇所使用的字符集。對於我們常用的utf8,卻有utf8和utf8mb4兩種,這是為什麼呢?原來,mysql在5.5.3版本之後增加了這個utf8mb...

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 ...