2016-05-13 69 views
0

早上好,这是我的第一个话题,所以感谢所有的外出帮助。Mysql Natural用特殊字符排序

我正在Yii应用程序中使用MySQL数据库。此数据库有一个国家/地区表,其中有一个名为utf8_general_ci归类的列。这列由特殊字符奥兰群岛

使用MySQL经常排序的数据填充,列名不具有正确的排序行为,例如:

正确:
阿尔巴尼亚
奥兰群岛

实际:
奥兰岛小号
阿尔巴尼亚

引用到ASCII表中,“A”是197,而不是“A”是65

我试图从Web(包括REGEXP)使用了许多解决方案,但没有成功。

回答

1

utf8_general_ci中,不同种类的a(a,A,à,ä等)的顺序没有区别:它们在排序中都是相同的,在前面的链接页面中可以看到它们都处于信件后的白色框A

如果你想对应于特定语言的排序顺序,你需要选择对应于语言的整理,这里可能是utf8_swedish_ci在这里你可以看到äå是在字母表的结束。

这是因为排序顺序在不同的语言中是不一样的,而utf8_general_ci不能选择一个而不是另一个。例如,在utf8_swedish_ci,ÅÄ之前,和在utf8_icelandic_ci,所述Å是在Ä