首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >utf8mb4和MySQL中的utf8字符集有什么区别?

utf8mb4和MySQL中的utf8字符集有什么区别?
EN

Stack Overflow用户
提问于 2015-05-06 18:45:12
回答 5查看 232K关注 0票数 418

在MySQL中,utf8mb4utf8字符集有什么不同

我已经知道了ASCII 8,UTF-16和UTF-32编码;但是我很好奇utf8mb4编码组与MySQL服务器中定义的其他编码类型有什么不同。

使用 utf8**?**而不是有什么特别的好处/建议

EN

Stack Overflow用户

发布于 2020-07-23 01:53:05

MySQL在5.5.3之后添加了这段utf8mb4代码,Mb4是最多字节4的意思,专门设计来兼容四个字节的Unicode。幸运的是,除了不需要将编码转换为UTF8MB4之外,UTF8MB4是UTF8的超集。当然,为了节省空间,一般使用UTF8就足够了。

原始的UTF-8格式使用1到6个字节,最多可以编码31个字符。最新的UTF-8规范仅使用一到四个字节,最多可编码21位,仅表示所有17个Unicode平面。UTF8是Mysql中的一个字符集,它只支持最多三个字节的UTF-8字符,这是Unicode中的基本多文本平面。

要在Mysql中保存4字节长的UTF-8字符,您需要使用UTF8MB4字符集,但只需使用5.5。支持3个版本后(查看版本:选择版本();)。我认为为了获得更好的兼容性,你应该总是使用UTF8MB4而不是UTF8。对于char类型的数据,UTF8MB4会消耗更多的空间,并且根据Mysql的官方推荐,使用VARCHAR而不是char。

在未在服务器配置中显式设置的情况下,在MariaDB utf8mb4中将其设置为默认字符集,因此使用COLLATE utf8mb4_unicode_ci。

Refer MariaDB CHARSET & COLLATE Click

代码语言:javascript
复制
CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
票数 2
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30074492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档