为什么推荐在数据库中使用utf8mb4编码?

数据库层面的 UTF-8

如果你使用 PHP 来操作到 MySQL,有些时候即使你做到了上面的每一点,你的字符串仍可能面临在数据库中以非 UTF-8 的格式进行存储的问题。
为了确保你的字符串从 PHP 到 MySQL都使用 UTF-8,请检查确认你的数据库和数据表都设定为 utf8mb4 字符集和整理,并且确保你的 PDO 连接请求也使用了 utf8mb4 字符集。请看下方的示例代码,这是 非常重要 的。
请注意为了完整的 UTF-8 支持,你必须使用 utf8mb4 而不是 utf8!你会在进一步阅读中找到原因。

  • 以上是php-the-right-way 中写的,不是太明白,求解答.


多谢大家的回答,我从网上找到了详细的信息.

mysql : utf8mb4 的问题

mysql utf8mb4与emoji表情

使用 mysql 的 utf8mb64 编码需要 mysql 的版本大于等于 5.5.3。

阅读 9.1k
3 个回答

emoji表情只能用utf8mb4存储,正常的文字只需要3byte存储,emoji需要四个

有一些火星文, 只能用utf8mb4表示, mysql实现的utf8表示不了

utf8mb4 才支持emoji表情的存储

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题