好吧,你好。
我正在将数据库的字符集从 latin1_sweedish_ci
更改为 utf8
。我一直使用 utf8_danish_ci
因为它最接近挪威的字符风格 - 我认为。
但是 utf8_general_ci
和 utf8_unicode_ci
呢?
前一段时间;首选使用 _general_ci
以获得更好/更快的性能,而使用 _unicode_ci
以获得更高的准确性,因为后者的排序算法更复杂。但是由于速度/性能不再是一个问题——或者在大多数情况下不再是一个问题——_unicode_ci
在大多数情况下都可以使用吗?
但是 _unicode_ci
与 _danish_ci
有何不同?
是否考虑了北欧字母表中的最后三个字母 æ
、 ø
、 å
?
我能找到的大多数比较(一个与另一个)仅在 _general_ci
和 _unicode_ci
之间。
任何人都知道何时使用 _unicode_ci
或何时使用 _danish_ci
的任何示例将不胜感激...
最佳答案
简而言之,如果您的应用程序是多语言的并且在同一个表中存储了多种语言,那么您大多都搞砸了,应该担心在数据库之外进行排序/整理——utf8_general_ci 与其他应用程序一样好。
如果它只支持一种语言,那么您可以通过在 db 级别设置正确的排序规则来做得很好——在您的情况下,确实是 utf8_danish_ci,因为如果维基百科可以引用的话,它与挪威语相同。
如果您想阅读有关整理的更多信息,ICU 文档中提供了丰富多彩的示例,说明此类内容变得多么棘手。广泛引用:
http://userguide.icu-project.org/collation
关于php - unicode 和丹麦语之间的 utf8 整理差异,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16538605/