什么是utf8mb4和utf8mb3区别?

关于utf8mb4

utf8mb4是MySQL / MariaDB中的一种字符集。

在当前主流版本的MySQL / MariaDB中,使用utf8作为字符集时,默认表示的是utf8mb3

关于utf8mb3utf8mb4,其主要区别在于:most bytes 3most bytes 4,即最多使用3 / 4个字节来表示1个字符!所以,当使用utf8mb4时,可以表示更多字符,例如生僻汉字、冷门符号、emoji表情符号等。

UTF指的是:Unicode Transformation Format,即Unicode传输编码。

在使用MySQL / MariaDB时,所有SQL语句中涉及的字符集都明确的使用utf8mb4,尽量不要使用utf8

### Navicat 创建数据库UTF8MB4 UTF8MB3 字符集的区别 在使用 Navicat 创建数据库并选择字符集时,UTF8MB4 UTF8MB3 是两种常见的选项。理解这两者之间的差异对于确保数据的正确性完整性至关重要。 #### 1. 编码长度支持字符范围 UTF8MB4 支持最多四个字节来表示单个字符,而 UTF8MB3 只支持最多三个字节[^2]。这意味着 UTF8MB4 能够覆盖更广泛的 Unicode 字符集合,特别是那些需要超过三个字节才能表示的特殊字符,如表情符号、某些亚洲语言中的罕用字符以及古文字等[^1]。 #### 2. 默认设置的变化 在 MySQL 数据库的不同版本中,默认字符集有所变化。具体来说,在 MySQL 5.7 及之前版本中,默认字符集为 utf8 (实际上是指 utf8mb3),而在 MySQL 8.0 及之后版本,则默认采用 utf8mb4[^3]。因此,在较新的 MySQL 版本上创建新数据库时,推荐优先考虑使用 UTF8MB4 来获得更好的兼容性扩展性。 #### 3. 存储空间需求 由于 UTF8MB4 使用更多的字节数量来编码一些特定类型的字符,所以在极端情况下可能会占用更多磁盘空间或内存资源。不过这种影响通常较小,并且随着硬件性能提升已不再是主要问题所在。 ```sql -- 设置数据库字符集为 utf8mb4 CREATE DATABASE my_database CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 设置表字段字符集为 utf8mb4 ALTER TABLE my_table MODIFY column_name VARCHAR(255) CHARACTER SET utf8mb4; ``` 通过上述 SQL 命令可以分别指定整个数据库及其内部表格使用的字符集为 UTF8MB4 或其他所需格式。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别来无恙blwy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值