由于您可以读取here(感谢user 3399549提供链接),因此在排序/比较波兰字母“”(带笔划的L)(小写:“"; html esc:ł和Ł),此处Peter Gulutzan解释了搭配之间的差异: 我们有这些排序规则和规则为:
utf8_polish_ci Ł greater than L and less than M
utf8_unicode_ci Ł greater than L and less than M
utf8_unicode_520_ci Ł equal to L
utf8_general_ci Ł greater than Z
3条答案
按热度按时间kokeuurv1#
如Collation Names下所述:
Unicode排序规则名称可以包含版本号,以指示排序规则所基于的Unicode排序规则算法(UCA)的版本。名称中没有版本号的基于UCA的排序规则使用4.0.0版UCA权重键:http://www.unicode.org/Public/UCA/4.0.0/allkeys-4.0.0.txt。排序规则名称(如
utf8_unicode_520_ci
)基于UCA 5.2.0权重键:http://www.unicode.org/Public/UCA/5.2.0/allkeys.txt中的一个。dtcbnfnu2#
由于您可以读取here(感谢user 3399549提供链接),因此在排序/比较波兰字母“”(带笔划的L)(小写:“"; html esc:
ł
和Ł
),此处Peter Gulutzan解释了搭配之间的差异:我们有这些排序规则和规则为:
在波兰语中,字母在字母L之后,M之前。我们可以用以下方式来写(为了澄清):
因此,为了避免这种问题(排序/比较),请使用
utf8_unicode_ci
(或更好的utf8mb4_unicode_ci
)。zf2sa74q3#
如果您只想使用土耳其语,则可以考虑
utf8_turkish_ci
(或utf8mb4_turkish_ci、utf8mb4_tr_0900_ai_ci、utf8mb4_tr_0900_as_cs)。以下是大部分差异(摘自http://mysql.rjweb.org/utf8_collations.html):请注意,在不同的排序规则中,∑、、等的排序方式是不同的。
520可能不会影响普通文本,尤其是土耳其语。例如,土耳其语和520认为
Ð
是一个单独的字母,但utf8_unicode_ci
将其视为等同于D
。看起来520 "更接近“土耳其语,但并非所有字母都相同。