首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySQL中,我应该选择哪种排序规则?

问在MySQL中,我应该选择哪种排序规则?
EN

Stack Overflow用户
提问于 2009-08-05 03:53:42
回答 3查看 44.1K关注 0票数 47

当我通过phpMyAdmin创建新的MySQL数据库时,我可以选择排序规则(例如-default、armscii8、ascii、...和UTF-8)。我知道的是UTF-8,因为我总是在HTML源代码中看到它。但是默认排序规则是什么呢?这些选择之间有什么区别,我应该使用哪一个?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-08-05 03:57:29

排序规则实际上不是默认的,它为您提供了默认排序规则作为第一选择。

我们讨论的是collation,也就是数据库将在其文本类型中使用的字符集。您的默认选项通常是基于区域设置的,所以除非您计划全球化,否则通常是非常热衷于此的。

排序规则还决定区分大小写和重音(即- 'Big‘== 'big'?使用CI,它是)。查看所有选项的MySQL list。

票数 20
EN

Stack Overflow用户

发布于 2009-08-05 04:23:26

排序规则告诉数据库如何执行字符串匹配和排序。它应该与您的字符集匹配。

如果使用UTF-8,则排序规则应为utf8_general_ci。这将按unicode顺序排序(不区分大小写),并且适用于大多数语言。它还保留了ASCII和Latin1顺序。

默认排序规则通常为latin1。

票数 30
EN

Stack Overflow用户

发布于 2019-08-01 18:25:25

简而言之:在处理MySql & MariaDB中的排序规则时,请始终使用utf8mb4 (特别是utf8mb4_unicode_ci)。

长长的答案:

UTF的utf8编码的命名有些笨拙,因为它不同于正确的UTF8编码。它不提供完全的Unicode支持,这可能会导致数据丢失或安全漏洞。

幸运的是,UTF5.5.3(2010年初发布)引入了一种名为utf8mb4的新编码,它映射到正确的UTF8,因此完全支持Unicode。

点击此处阅读全文:https://mathiasbynens.be/notes/mysql-utf8mb4

至于选择哪一个特定的utf8mb,使用utf8mb4_unicode_ci,这样排序总是被正确地处理,性能缺陷最小/不明显。点击此处查看更多详情:What's the difference between utf8_general_ci and utf8_unicode_ci

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1231105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档