O和Ö在Zend_Db中使用ORDER命令为相同的字符

时间:2011-04-13 14:30:23

标签: mysql sql zend-framework zend-db

当我从数据库中拾取对象并运行Zend魔术功能时 - > Order(),或纯SQL,例如title,以及包含瑞典字符的那些,因此将它们解释为aao。它有一个错误的排序,无论是a还是o,它应该最后订购。

任何人都知道如何解决这个问题?看起来像一个没有结果的白痴。

编辑:数据库的排序规则为utf8_unicode_ci,编码为u​​tf8。我试图改为utf8_swedish_ci,但没有成功。而且我担心我需要留下utf8或者我没有选择吗?

1 个答案:

答案 0 :(得分:2)

您的MySQL数据库是否设置为使用正确的排序规则?我认为默认设置为瑞典排序规则latin1_swedish_cihttp://dev.mysql.com/doc/refman/5.5/en/charset-we-sets.html

但是,如果它被改为其他东西(如latin1),它可能会以不同方式对重音字符进行排序。

有关于如何在此处指定用于特定数据库,列或表的归类的说明:

http://dev.mysql.com/doc/refman/5.0/en/charset-syntax.html

修改:瑞典整理符合您的要求:http://www.collation-charts.org/mysql60/mysql604.latin1_swedish_ci.html但您可能会使用常规版本:http://www.collation-charts.org/mysql60/mysql604.latin1_general_ci.html