想要改进这个问题吗? 更新问题,以便 editing this post 提供事实和引用来回答它.
关闭 7 年前。
我想知道对于一个您不能 100% 确定要输入什么内容的一般网站,在 MySQL 中是否有“最佳”排序选择?我知道所有的编码都应该是相同的,例如 MySQL、Apache、HTML 和 PHP 中的任何东西。
过去我将 PHP 设置为以“UTF-8”输出,但是这与 MySQL 中的哪种排序规则相匹配?我认为它是 UTF-8 之一,但我之前使用过 utf8_unicode_ci
、utf8_general_ci
和 utf8_bin
。
最佳答案
主要区别在于排序准确性(比较语言中的字符时)和性能。唯一特殊的是 utf8_bin,用于比较二进制格式的字符。
utf8_general_ci
比 utf8_unicode_ci
稍快,但不太准确(用于排序)。 特定语言的 utf8 编码(例如 utf8_swedish_ci
)包含额外的语言规则,使它们对这些语言进行最准确的排序。大多数时候我使用 utf8_unicode_ci
(我更喜欢准确性而不是小的性能改进),除非我有充分的理由更喜欢特定的语言。
您可以在 MySQL 手册 - http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html 上阅读有关特定 unicode 字符集的更多信息。
https://stackoverflow.com/questions/367711/