utf8mb4使用說明?
在InnoDB引擎中,最大的索引長(zhǎng)度為767字節(jié),三個(gè)字節(jié)一個(gè)字符的情況下,索引列的字符長(zhǎng)度最大可以達(dá)到255,四個(gè)字節(jié)一個(gè)字符的情況下,索引的字符長(zhǎng)度最大只能到191。如果你已經(jīng)存在的表中的索引列的類型為VARCHAR(255)那么轉(zhuǎn)換UTF8mb4時(shí)同樣會(huì)轉(zhuǎn)換失敗。你需要先將VARCHAR(255)更改為VARCHAR(191)才能繼續(xù)轉(zhuǎn)換字符編碼
如果要在 MySQL中保存 4 字節(jié)長(zhǎng)度的 UTF-8 字符,就需要使用 utf8mb4 編碼,但是要注意只有 5.5.3 版本以后的MySQL才支持(查看版本命令: select version())。為了獲取更好的兼容性,建議使用 utf8mb4 而非 utf8. 對(duì)于CHAR類型數(shù)據(jù),utf8mb4會(huì)多消耗一些空間,但根據(jù) MySQL官方建議,可以使用 VARCHAR 替代 CHAR。