否则,使用utf8_unicode_ci,因为它比较准确。 用一句话概况上面这段话:utf8_unicode_ci比较准确,utf8_general_ci速度比较快。通常情况下 utf8_general_ci的准确性就够我们用的了,在我看过很多程序源码后,发现它们大多数也用的是utf8_general_ci,所以新建数据 库时一般选用utf8_general_ci就可以了...
1、对于一种语言仅当使用utf8_unicode_ci排序做的不好时,才执行与具体语言相关的utf8字符集校对规则。例如,对于德语和法语,utf8_unicode_ci工作的很好,因此不再需要为这两种语言创建特殊的utf8校对规则。 2、utf8_general_ci也适用与德语和法语,除了‘?'等于‘s',而不是‘ss'之外。如果你的应用能够接受这些,...
utf8_general_ci是⼀个遗留的校对规则,不⽀持扩展。它仅能够在字符之间进⾏逐个⽐较。这意味着utf8_general_ci校对规则进⾏的⽐较速度很快,但是与使⽤utf8_unicode_ci的校对规则相⽐,⽐较正确性较差)。例如,使⽤utf8_general_ci和utf8_unicode_ci两种校对规则下⾯的⽐较相等:Ä = ...
ci是 case insensitive, 即 "大小写不敏感", a 和 A 会在字符判断中会被当做一样的; bin 是二进制, a 和 A 会别区别对待. 例如你运行: SELECT * FROM table WHERE txt = 'a' 那么在utf8_bin中你就找不到 txt = 'A' 的那一行, 而 utf8_general_ci 则可以. utf8_general_ci 不区分大小写,...
utf8_unicode_ci 及 utf8_general_ci 的用途就是对那些看起来不一样的字符进行转换,令我们进行排序比对时更方便准确。 以下面为例,直接看起来是不相等的,但在实际应用上是成立的,这就是 utf8_unicode_ci 及 utf8_general_ci 工作的结果。 Ä = A ...
utf8_unicode_ci和utf8_general_ci对中、英文来说没有实质的差别。 utf8_general_ci校对速度快,但准确度稍差。 utf8_unicode_ci准确度高,但校对速度稍慢。 如果你的应用有德语、法语或者俄语,请一定使用utf8_unicode_ci。一般用utf8_general_ci就够了,到现在也没发现问题。。。
utf8mb4_unicode_ci 和 utf8mb4_general_ci 1、准确性 utf8mb4_unicode_ci 是基于标准的 Unicode 来排序和比较,能够在各种语言之间精确排序 utf8mb4_general_ci 没有实现 Unicode 排序规则,在遇到某些特殊语言或者字符集,排序结果可能不一致。 但是绝大多数情况下,这些特殊字符的顺序并不需要那么精确。
utf8mb4是utf8的超集,支持存储4字节的Unicode字符,包括emoji等。_general_ci表示“不区分大小写”(Case Insensitive)的校对规则,它使用一种较为简单的比较算法,适用于大多数西欧语言。 utf8mb4_unicode_ci:同样是基于utf8mb4字符集的校对规则,但_unicode_ci表示它遵循Unicode校对算法。这种校对规则更加准确,能够...
相比之下,utf8_general_ci是一个较旧的校对规则,不支持扩展,仅进行字符间的逐个比较,速度快但准确性较差。比较示例:使用utf8_general_ci和utf8_unicode_ci校对规则。Ä = A Ö = O Ü = U 然而,对于utf8_general_ci,'ß'等同于's',而utf8_unicode_ci则将其视...
成本utf8_unicode_ci是,它是一个稍微有点慢utf8_general_ci。但这就是您为正确性付出的代价。您可...