有没有人解释原因:
SELECT * FROM MY_TABLE WHERE 1 = 1 AND libelle COLLATE latin1_general_ci LIKE '%dég%'
返回1条记录(只有带é的记录)
SELECT * FROM MY_TABLE WHERE 1 = 1 AND libelle COLLATE latin1_swedish_ci LIKE '%dég%'
返回4条记录(当然包括上面的记录)?
根据MySQL doc latin1_general_ci是“多语言(西欧)不区分大小写”所以不应该管理像latin1_swedish_ci这样的口音?
由于 尼古拉斯
答案 0 :(得分:0)
我怀疑你是否误解了整理是什么。
校对是一组用于自然语言(瑞典语,英语,俄语,日语......)的规则,用于确定单词的字典顺序。在关系数据库中,这用于对数据(例如ORDER BY
子句)进行排序并比较数据(例如WHERE
子句或唯一索引)。几个例子:
如果您需要按国家/地区名称订购英文,请获取此信息:
但是,在传统的西班牙语ch
过去是一个独立的字母,所以正确的顺序是:
在瑞典语中,å
是一个单独的字母,因此即使您已经拥有ångström
,也可以使用angström
这样的登录名。在其他语言中,它们是重复的,不允许使用。
排序是不您用来显示表情符号和其他Unicode字符的内容。这只是编码(ISO-8859-1,UTF-8,UTF-16 ......等等)。