utf8mb4_general_ci 和 utf8mb4_unicode_ci 是 MySQL 数据库中字符集和排序规则。用于指定字符数据的排序和比较规则,确保在数据库中对字符串进行查询和比较时得到正确的结果。
1、utf8mb4_general_ci 是一个较为简单的排序规则。不区分大小写(case-insensitive)和重音符号(accent-insensitive)。适用于大多数情况下的基本字符排序需求,但对某些特殊字符排序不够精确。
2、utf8mb4_unicode_ci 是一个更为复杂和精确的排序规则。区分大小写和重音符号,将一些特殊字符(如不同语言的变音字母)视为相等。 排序规则对于多语言和特殊字符排序更为精准和全面,能够处理一些特殊字符的排序和比较,避免了一些特殊字符导致的排序错误,因为它需要更复杂的算法来处理排序,会导致性能稍微降低。但是一种更全面的解决方案。
适用于多语言环境和对特殊字符排序要求较高的场景,推荐使用 utf8mb4_unicode_ci,确保准确性。
适用于只需要基本字符排序且性能要求较高的情况,推荐使用utf8mb4_general_ci,处理更高效。