对于utf8mb4_0900_ai_ci来说,0900代表Unicode 9.0的规范,ai表示accent insensitivity,也就是“不区分音调”,而ci表示case insensitivity,也就是“不区分大小写”。 MySQL 8.0之后,默认collation不再像之前版本一样是是utf8mb4_general_ci,而是统一更新成了utf8mb4_0900_ai_ci。 具体可参考这篇博客,讲的非常详...
ai 指的是口音不敏感。也就是说,排序时 e,è,é,ê和 ë 之间没有区别。 ci 表示不区分大小写。也就是说,排序时 p 和 P 之间没有区别。 utf8mb4 已成为默认字符集,在 MySQL 8.0.1 及更高版本中将 utf8mb4_0900_ai_ci 作为默认排序规则。以前,utf8mb4_general_ci 是默认排序规则。由于 utf8mb...
在utf8mb4_0900_ai_ci规则下,数字0900代表了Unicode 9.0标准,而ai标识“无重音敏感性”,意味着不区分音调。ci标识“无大小写敏感性”,意味着不区分大小写。在MySQL 8.0版本中,其默认的collation规则已从过去的utf8mb4_general_ci统一更新为utf8mb4_0900_ai_ci。欲了解更多信息与深入探讨,...
mysql排序规则utf8mb4_bin、utf8mb4_unicode_ci、utf8mb4_0900_ai_ci、utf8mb4_general_ci有何区别? 注意: 在MySQL中请使用utf8mb4, 永远不要使用utf8,特别是在存储一些表情符号时,就像这样 ! utf8 utf8 是 Mys…
前段时间,遇到一个mysql的问题,我仔细看看报错信息,应该是MySQL数据库报出来的,大意是说:collation不兼容,一个是 utf8mb4_0900_ai_ci,另一个是utf8mb4_general_ci。 utf8mb4_general_ci这玩意儿我见过,是针对utf8mb4编码的collation,但是utf8mb4_0900_ai_ci是啥,我也没见过。
在性能方面,utf8mb4_general_ci通常比utf8mb4_0900_ai_ci更快,因为它没有实现复杂的Unicode排序规则。然而,在大多数情况下,这种性能差异并不明显。综上所述,utf8mb4_0900_ai_ci提供了更准确的排序功能,尤其是在处理涉及多种语言和特殊字符集的情况时。如果性能是一个关键因素,且不需要非常...
utf8mb4_general_ci:由于它没有实现复杂的 Unicode 排序规则,因此在比较和排序时通常更快。 utf8mb4_0900_ai_ci:为了实现更准确的排序,它可能使用了稍微复杂的排序算法。然而,在大多数情况下,这种性能差异可能并不明显。 简单总结 utf8mb4_0900_ai_ci 提供了更准确的排序功能,特别是在处理涉及多种语言和特殊...
utf8mb4_0900_ai_ci是MySQL 8.0的新增排序规则,它在比较字符时不仅忽略大小写和重音符号,还可以识别不同的Unicode字符。这意味着,utf8mb4_0900_ai_ci可以更准确地比较字符,避免了一些排序问题。但是,utf8mb4_0900_ai_ci的缺点是在某些情况下比utf8mb4_general_ci慢。
MySQL数据库字符集的转换:从utf8mb4_0900_ai_ci到utf8_general_ci 在开发和维护数据库时,字符集的选择至关重要。不同的字符集影响到数据的存储、查询和展示,尤其是在多语言环境中。MySQL的utf8mb4字符集支持4字节字符,而utf8字符集只支持3字节字符。在某些情况下,为了兼容性,可能需要将数据库的字符集从utf8...