MYSQL中utf8_general_ci和utf8_unicode_ci的区别
程序员文章站
2022-03-28 12:33:19
...
看到很多数据库的设计对于中文字符都是选择选用utf8_general_ci而非utf8_unicode_ci?utf8_general_ci和utf8_unicode_ci的区别并不大:utf8_unicode_ci校对更准确,utf8_general_ci速度比较快。它们的差别主要在德语和法语上,对于准确性utf8_general_ci足够了,所以一般选用utf8_general_ci。
详细说明如下:
utf8_unicode_ci的最主要的特色是支持扩展,即当把一个字母看作与其它字母组合相等时。例如,在德语和一些其它语言中‘ß’等于‘ss’。
utf8_general_ci是一个遗留的 校对规则,不支持扩展。它仅能够在字符之间进行逐个比较。这意味着utf8_general_ci校对规则进行的比较速度很快,但是与使用utf8_unicode_ci的 校对规则相比,比较正确性较差)。
两种校对规则之间的区别是,对于utf8_general_ci下面的等式成立:
ß = s
但是,对于utf8_unicode_ci下面等式成立:
ß = ss
因此对于德语和法语utf8_unicode_ci更准确,对于中文没有必要。
以上就是MYSQL中utf8_general_ci和utf8_unicode_ci的区别的详细内容,更多请关注其它相关文章!
推荐阅读
-
php中存储用户ID和密码到mysql数据库的方法
-
在MySQL中创建带有IN和OUT参数的存储过程的方法_MySQL
-
springmvc中 / 和 /* 的区别
-
ASP中Server.Execute和Execute实现动态包含(include)脚本的区别
-
C#中重写(override)和覆盖(new)的区别
-
PHP中empty和isset对于参数结构的判断及empty()和isset()的区别_PHP
-
mysql中char与varchar的区别分析_MySQL
-
辛星与你彻底分析PHP中的include和require等的区别
-
SQLserver中字符串查找功能patindex和charindex的区别
-
Java中CyclicBarrier和CountDownLatch的用法与区别