开发者社区 > PolarDB开源 > PolarDB 分布式版 > 正文

在PolarDB中 显示 charset 是 utf8 ,请问是 utf8mb3还是utf8mb4?

在PolarDB中show create table T 显示 charset 是 utf8 ,请问是 utf8mb3还是utf8mb4?

展开
收起
花开富贵111 2024-01-07 17:48:22 144 0
4 条回答
写回答
取消 提交回答
  • 在MySQL和PolarDB中,utf8mb4是最新的字符集,支持更多的Unicode字符,而utf8mb3是utf8的别名,但实际上已经被废弃。因此,当您在PolarDB中看到show create table T显示的字符集是utf8时,这实际上指的是utf8mb4。为了增强Unicode的支持,建议您检查并确保使用正确的字符集。

    2024-01-09 10:25:51
    赞同 展开评论 打赏
  • mb3,mb4多了表情符号。此回答整理来自钉群“PolarDB专家面对面 - HTAP(列存索引)”

    2024-01-08 16:10:53
    赞同 展开评论 打赏
  • 在 PolarDB 中,当你执行 SHOW CREATE TABLE T 命令并看到字符集(charset)显示为 utf8 时,这实际上指的是 utf8mb3,而不是 utf8mb4。

    解释一下这两者的区别:

    • utf8mb3:这个字符集支持 U+0000 到 U+FFFF 的字符,即最多支持 3 字节的 UTF-8 字符。
    • utf8mb4:这个字符集支持 U+0000 到 U+10FFFF 的字符,即最多支持 4 字节的 UTF-8 字符。

    所以,当 PolarDB 或其他数据库系统显示字符集为 utf8 时,通常是指 utf8mb3。如果你需要支持更多的 Unicode 字符(如某些 emoji 或某些特殊的亚洲字符),你可能需要使用 utf8mb4 字符集。

    2024-01-08 15:43:49
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在PolarDB中,如果使用SHOW CREATE TABLE T;命令查看表的创建语句,显示字符集为utf8,那么默认情况下是utf8mb3。因为utf8mb4需要显式指定,而utf8mb3是utf8的子集,所以如果没有特别指定,系统会默认使用utf8mb3字符集。

    2024-01-07 17:53:14
    赞同 展开评论 打赏

PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 是阿里云自主设计研发的高性能云原生分布式数据库产品,为用户提供高吞吐、大存储、低延时、易扩展和超高可用的云时代数据库服务。

相关电子书

更多
云栖大会:开源 PolarDB 架构演进、关键技术与社区建设 立即下载
2023云栖大会:和客户一起玩转PolarDB新特性 立即下载
2023云栖大会:PolarDB for AI 立即下载