mysql - O 和 Ö 与 Zend_Db 中的 ORDER 排序相同的字符

标签 mysql sql zend-framework zend-db

当我从数据库中选取对象并运行 Zend 魔术函数 -> Order() 时,或者作为普通 SQL,例如,title,以及那些包含瑞典语字符的 åäö,因此将它们解释为 aao。它带有错误的排序,当它真正应该最后订购时要么是 a 要么是 o。

有人知道如何解决这个问题吗?看起来像个白痴,没有结果。

编辑: 数据库的排序规则是utf8_unicode_ci,编码是utf8。我试图更改为 utf8_swedish_ci 但没有成功。恐怕我需要保留 utf8,还是我别无选择?

最佳答案

您的 MySQL 数据库是否设置为使用正确的排序规则?我认为默认情况下它设置为瑞典语排序规则latin1_swedish_ci:http://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

关于mysql - O 和 Ö 与 Zend_Db 中的 ORDER 排序相同的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5650919/

相关文章:

php - 有没有更好的方法来获取限制为 1 的随机记录

mysql - 获取两个日期之间的记录,但有时它们可​​能为空

php - 用于多复选框的 zend 表单从标签中删除输入

php - 如何在 Zend 中正确设置异常处理程序?

javascript - JS 脚本无法理解通过 PHP 分配给 HTML 输入值的变量

MySQL 复制不更新从站

php - Mysql查询Ask-Answer-Comment数据库

sql - 如何通过指定字节数来对字符串进行子字符串化

php - 我需要帮助在同一个 sql 中显示两次使用 datetime 函数

zend-framework - zend view render如何解析查看脚本的路径