MySQL中utf8和utf8mb4的區別
一、簡介
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的缺點)。
原文網址:https://www.cnblogs.com/cuiqq/p/11045487.html
相關文章
- mysql中utf8和utf8mb4區別MySql
- 談mysql中utf8和utf8mb4區別MySql
- mysql 字符集:utf8和utf8mb4區別MySql
- 在MySQL中,不要使用“utf8”。使用“utf8mb4”MySql
- utf8 和 UTF-8 在使用中的區別
- mysql中!=和is not的區別MySql
- mysql中“ ‘ “和 “ ` “的區別MySql
- Mysql 中 MyISAM 和 InnoDB 的區別MySql
- mysql 中set和enum的區別MySql
- utf-8 和 utf8的區別小記
- MySQL中is not null和!=null和<>null的區別MySqlNull
- MySQL中CHAR和VARCHAR區別MySql
- PHP中MySQL、MySQLi和PDO的用法和區別PHPMySql
- MySQL中REPLACE INTO和INSERT INTO的區別分析MySql
- Mysql中S 鎖和 X 鎖的區別MySql
- Mysql中 int(10)和int(11)的區別MySql
- MySQL中datetime和timestamp的區別MySql
- utf8改成utf8mb4實戰教程
- MYSQL和SQL的區別MySql
- MySQL和Oracle的區別MySqlOracle
- Oracle和MySQL的區別OracleMySql
- Mysql中myisam和innodb的區別,至少5點MySql
- Mysql引擎中MyISAM和InnoDB的區別有哪些?MySql
- utf-8、UTF-8、utf8在使用中的區別
- 【轉】mysql 和 redis的區別MySqlRedis
- mysql中tinyint、smallint、int和bigint型別的用法區別MySql型別
- JavaScript中for in 和for of的區別JavaScript
- Js中for in 和for of的區別JS
- JavaScript中==和===的區別JavaScript
- MySQL語法中=與:=的區別MySql
- MySQL 中 VARCHAR 最大長度及 CHAR 和 VARCHAR 的區別MySql
- Mysql中tinyint(1)和tinyint(4)的區別詳析WIFRMySql
- SQLserver-MySQL的區別和用法ServerMySql
- Oracle 和 mysql的9點區別OracleMySql
- 談談mysql和redis的區別MySqlRedis
- PHP 中的 -> 和 :: 的區別PHP
- 【Mysql】MySQL中interactive_timeout和wait_timeout的區別MySqlAI
- Mybatis中#{}和${}傳參的區別及#和$的區別小結MyBatis