MySQL 8.0 默认字符集是 utf8mb4。
MySQL 8.0 是当前最新的开源关系型数据库管理系统,由Oracle公司开发和维护。MySQL 8.0 默认字符集是 utf8mb4,这个字符集支持存储和处理 Unicode 字符,包括 emoji 表情符号。
字符集是用于定义数据库中存储的字符编码规则的集合。它们指定了可以在数据库中使用哪些字符和如何存储这些字符。MySQL 支持多种字符集,但是在MySQL 8.0之前,默认的字符集是 utf8。
utf8mb4 是 MySQL 8.0 引入的新字符集,它是 utf8 字符集的扩展,支持存储和处理更多的 Unicode 字符。utf8mb4 使用固定长度的编码方式,每一个字符都由 4 个字节组成,可以表示超过 65000 种字符。
为什么 MySQL 8.0 默认使用 utf8mb4 作为默认字符集呢?主要原因是因为人们对于 emoji 表情符号的需求增加。以前的 utf8 字符集只能存储一部分 Unicode 字符,不支持存储emoji 表情符号。但是随着社交媒体的流行,emoji 表情符号变得越来越常见,因此需要一种支持存储 emoji 表情符号的字符集。
utf8mb4 不仅支持 emoji 表情符号,还支持所有的兼容 Unicode 的字符。这使得 MySQL 8.0 能够处理包括中文、日文、韩文等非拉丁字符在内的更广泛的字符集。
除了字符集的选择,MySQL 8.0 还提供了许多与字符编码相关的特性和优化。其中一个重要的特性是 utf8mb4_general_ci 排序规则的改进。排序规则是用于对字符串进行排序和比较的规则。在 MySQL 8.0 之前,utf8mb4_general_ci 排序规则是基于旧的 Unicode 版本制定的,这导致排序结果不太准确。在 MySQL 8.0 中,使用了最新的 Unicode 版本,修复了之前的问题,并且提供了更准确和可靠的排序规则。
另外,MySQL 8.0 还引入了一种新的文本类型:TEXT_COLLATE 和 TEXT_CHARSET。通过使用这两个新的文本类型,开发人员可以更方便地指定不同的字符集和排序规则,用于存储和处理不同的文本数据。
总结起来,MySQL 8.0 默认字符集是 utf8mb4,它支持存储和处理 Unicode 字符,包括 emoji 表情符号。这种默认字符集的选择使得 MySQL 8.0 能够满足用户对于更广泛的字符集的需求,并且提供了更准确和可靠的排序规则。通过引入新的文本类型,MySQL 8.0 还增加了对不同字符集和排序规则的更灵活的支持。