MySQL字符集包括 基字符集(CHARACTER)與校對(duì)規(guī)則(COLLATION)這兩個(gè)概念:
- latin1支持西歐字符、希臘字符等
- gbk支持中文簡(jiǎn)體字符
- big5支持中文繁體字符
- utf8幾乎支持世界所有國(guó)家的字符
- utf8mb4是真正意義上的utf-8
查看當(dāng)前數(shù)據(jù)庫(kù)默認(rèn)的字符集:SHOW VARIABLES like 'character%';
character_set_client MySQL 客戶機(jī)字符集。 character_set_connection ? ? ? ? ? ? ? 數(shù)據(jù)通信鏈路字符集,當(dāng)MySQL客戶機(jī)向服務(wù)器發(fā)送請(qǐng)求時(shí),請(qǐng)求數(shù)據(jù)以該字符集進(jìn)行編碼。 character_set_database 數(shù)據(jù)庫(kù)字符集。
utf8和utf8mb4的區(qū)別
MySQL在5.5.3之后增加了這個(gè)utf8mb4的編碼,mb4就是most bytes 4的意思,專門用來(lái)兼容四字節(jié)的unicode。好在utf8mb4是utf8的超集,除了將編碼改為utf8mb4外不需要做其他轉(zhuǎn)換。當(dāng)然,為了節(jié)省空間,一般情況下使用utf8也就夠了。
既然utf8能夠存下大部分中文漢字,那為什么還要使用utf8mb4呢? 原來(lái)mysql支持的 utf8 編碼最大字符長(zhǎng)度為 3 字節(jié),如果遇到 4 字節(jié)的寬字符就會(huì)插入異常了。三個(gè)字節(jié)的 UTF-8 最大能編碼的 Unicode 字符是 0xffff,也就是 Unicode 中的基本多文種平面(BMP)。也就是說,任何不在基本多文本平面的 Unicode字符,都無(wú)法使用 Mysql 的 utf8 字符集存儲(chǔ)。包括 Emoji 表情(Emoji 是一種特殊的 Unicode 編碼,常見于 ios 和 android 手機(jī)上),和很多不常用的漢字,以及任何新增的 Unicode 字符,如表情等等(utf8的缺點(diǎn))。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-819995.html
因此在8.0之后,建議大家使用utf8mb4這種編碼。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-819995.html
到了這里,關(guān)于(三) MySQL字符集的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!