mysql中utf8和utf8mb4區別

2021-09-19 10:33:31 字數 810 閱讀 8873

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

好在utf8mb4是utf8的超集,除了將編碼改為utf8mb4外不需要做其他轉換。當然,為了節省空間,一般情況下使用utf8也就夠了。

那上面說了既然utf8能夠存下大部分中文漢字,那為什麼還要使用utf8mb4呢?

原來mysql支援的 utf8 編碼最大字元長度為 3 位元組,如果遇到 4 位元組的寬字元就會插入異常了。

三個位元組的 utf-8 最大能編碼的 unicode 字元是 0xffff,也就是 unicode 中的基本多文種平面(bmp)。

也就是說,任何不在基本多文字平面的 unicode字元,都無法使用 mysql 的 utf8 字符集儲存。

包括 emoji 表情(emoji 是一種特殊的 unicode 編碼,常見於 ios 和 android 手機上),和很多不常用的漢字,以及任何新增的 unicode 字元等等。

建議普通表使用utf8 如果這個表需要支援emoji就使用utf8mb4

新建mysql庫或者表的時候還有乙個排序規則

utf8_unicode_ci比較準確,utf8_general_ci速度比較快。通常情況下 utf8_general_ci的準確性就夠我們用的了,在我看過很多程式原始碼後,發現它們大多數也用的是utf8_general_ci,所以新建資料 庫時一般選用utf8_general_ci就可以了

mysql字元版本

utf 8 和 utf8的區別小記

utf 8 是標準寫法,php 在 windows 下邊英文不區分大小寫,所以也可以寫成 utf 8 utf 8 也可以把中間的 省略,寫成 utf8 一般程式都能識別,但也有例外 如下文 為了嚴格一點,最好用標準的大寫 utf 8 在資料庫中只能使用 utf8 mysql 在mysql的命令模式中...

網頁utf 8亂碼 utf8亂碼

複製 在前 在windows作業系統上使用ie作為瀏覽器時。常常會發生這樣的問題 在瀏覽使用utf 8編碼的網頁時,瀏覽器無法自動偵測 即沒有設定 自動選擇 編碼格式時 該頁面所用的編碼。即使網頁已經宣告過編碼格式 由此造成某些含有中文utf 8編碼的頁面產生空白輸出。由於utf 8為3個位元組表示...

utf8 和 UTF 8 在使用中的區別

在使用中常常遇到utf 8和utf8,現在終於弄明白他們的使用不同之處了,現在來和大家分享一下,下面我們看一下utf8 和 utf 8 有什麼區別 utf 8 是標準寫法,php在windows下邊英文不區分大小寫,所以也可以寫成 utf 8 utf 8 也可以把中間的 省略,寫成 utf8 一般程...