明辉站/应用软件/内容

MYSQL中utf8_general_ci与utf8_unicode_ci的区别

应用软件2023-09-01 阅读
[摘要]看到很多数据库的设计对于中文字符都是选择选用utf8_general_ci而非utf8_unicode_ci?utf8_general_ci和utf8_unicode_ci的区别并不大:utf8_unicode_ci校对更准确,utf8_general_ci速度比较快。它们的差别主要在德语和法语上...

看到很多数据库的设计对于中文字符都是选择选用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中文网其它相关文章!


学习教程快速掌握从入门到精通的SQL知识。

……

相关阅读