utf8 和 utf8mb4

Exisi 2023-01-26 03:39:16
Categories: Tags:
  • utf8 编码支持最大3字节每字符

 

  • utf8mb4编码是utf8编码的超集,兼容utf8,支持最大4字节每字符

 

 

 

utf8 utf8mb4 的区别

  • MySQL数据库的 utf8 并不是真正概念里的 UTF-8MySQL中的 utf8 编码只支持最大3字节每字符,当遇到4字节的宽字符就会插入异常,包括 Emoji 表情和很多不常用的汉字,以及任何新增的 Unicode 字符等

 

  • utf8mb4编码是utf8编码的超集,除了将编码改为utf8mb4外不需要做其他转换。⽽在各类符号⽂字逐步发展的过程中,像是包括 Emoji 表情和很多不常⽤的汉字,以及任何新增的 Unicode 字符等等都需要进⾏编码,所以utf8mb4应运⽽⽣,这也是两者最本质的区别

 

  • 为了获取更好的兼容性,应该总是使用 utf8mb4 而非 utf8

 

  • 对于 CHAR 类型数据,utf8mb4 会多消耗一些空间,建议使用 VARCHAR 替代 CHAR