mysql新建数据库字符集为什么选utf8mb4不选utf8

先来看一段MySQL的官方文档

  • utf8mb4: A UTF-8 encoding of the Unicode character set using one to four bytes per character.

    • 翻译(utf8mb4:Unicode字符集的UTF-8编码,每个字符使用1-4个字节)
  • utf8mb3: A UTF-8 encoding of the Unicode character set using one to three bytes per character.

    • 翻译(utf8mb3:Unicode字符集的UTF-8编码,每个字符使用一到三个字节)
  • utf8: An alias for utf8mb3.

    • 翻译(utf8:的别名 utf8mb3)

mb4即 most bytes 4,使用4个字节来表示完整的UTF-8。而MySQL中的utf8是utfmb3,只有三个字节,不能表达全部的UTF-8(比如emoji表情)。

官方文档给出这么一段Note

注意
该utf8mb3字符集已被弃用,你应该期待它在未来的MySQL版本中删除。请utf8mb4改用。
尽管 utf8目前是的别名 utf8mb3,但在某个时候 utf8有望成为对 utf8mb4。
为避免对的含义含糊不清utf8,请考虑utf8mb4为字符集引用而不是显式指定 utf8。


所以推荐使用utf8mb4。

posted @ 2020-11-04 01:12  门口问  阅读(1011)  评论(0编辑  收藏  举报