MySQL - 最佳排序规则?

Posted

技术标签:

【中文标题】MySQL - 最佳排序规则?【英文标题】:MySQL - Optimal Collation? 【发布时间】:2011-10-22 16:06:12 【问题描述】:

我们开始让我们的产品更加国际化,并且我们开始遇到外来字符的问题,主要来自西班牙语和欧洲(希腊等),并且想知道对于需要的表格使用的最佳排序规则是什么包含这些字符?到目前为止,我们总是让 phpMyAdmin 选择它想要的排序规则,但我们觉得我们需要更多的控制权。

谢谢。

【问题讨论】:

Unicode unicode unicode... 最容易处理,也最容易转入转出。 【参考方案1】:

utf8_general_ci 是安全的选择,尤其是因为您支持多种带有特殊字符的语言。

utf8_general_ci 认为所有重音字符都等同于它的无重音对应部分。 e é è ë 与utf8_general_ci 相同,因此它提供了小的性能提升。另一方面,它在排序方面不如 utf8_unicode_ci 准确,并且可能在 ß 或其他连字等字符方面存在一些问题。

所以基本上如果你需要一些精确的排序使用utf8_unicode_ci,否则使用utf8_general_ci

【讨论】:

我想,但在 UTF8 列表下,有很多选项。有没有我特别想要的? UTF8_bin? _general_ci 后缀是什么意思? 没关系,发现这个:phpbuilder.com/board/archive/index.php/t-10344217.html 是的,抱歉,我点击提交有点太快了,编辑了更多细节。 那么,一般来说,它会物理去除重音字符吗?还是在进行搜索和比较时只使用基本字符?也就是和utf8_unicode相比如何?

以上是关于MySQL - 最佳排序规则?的主要内容,如果未能解决你的问题,请参考以下文章

所有语言的 MySQL 排序规则

mysql汉字排序规则

MySQL排序顺序 - 排序规则?

当所有排序规则都已经标准化时,Mysql 非法混合排序规则

Mysql 排序规则选择

发现 MySQL 列的排序规则