Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql O和Ö;顺序与Zend_Db中的顺序相同_Mysql_Sql_Zend Framework_Zend Db - Fatal编程技术网

Mysql O和Ö;顺序与Zend_Db中的顺序相同

Mysql O和Ö;顺序与Zend_Db中的顺序相同,mysql,sql,zend-framework,zend-db,Mysql,Sql,Zend Framework,Zend Db,当我从数据库中提取对象并运行Zend magic函数->Order(),或者作为普通SQL(例如,title)运行时,那些包含瑞典语字符的对象被解释为aao。它的排序是错误的,要么是a,要么是o,而实际上它应该最后一次订购 有人知道怎么解决这个问题吗?看起来像个白痴,没有结果 编辑:数据库的排序规则为utf8\U unicode\U ci,编码为utf8。我曾尝试改为utf8_瑞典语_ci,但没有成功。恐怕我需要保留utf8,否则我就别无选择了?您的MySQL数据库是否设置为使用正确的排序规则?

当我从数据库中提取对象并运行Zend magic函数->Order(),或者作为普通SQL(例如,title)运行时,那些包含瑞典语字符的对象被解释为aao。它的排序是错误的,要么是a,要么是o,而实际上它应该最后一次订购

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


编辑:数据库的排序规则为utf8\U unicode\U ci,编码为utf8。我曾尝试改为utf8_瑞典语_ci,但没有成功。恐怕我需要保留utf8,否则我就别无选择了?

您的MySQL数据库是否设置为使用正确的排序规则?我认为默认情况下,它被设置为瑞典语排序规则
latin1\u Swedish\u ci

但是,如果它被改成其他字符(如
latin1
),它可能会对重音字符进行不同的排序

以下是有关如何为特定数据库、列或表指定要使用的排序规则的说明:


编辑:瑞典语排序规则是您想要的:但您可能使用的是通用排序规则:

+1我一开始读错了,对不起。这正是他所需要的。唯一值得注意的是,排序规则的运行时转换很慢。对于大型数据集,可以创建一个单独的,
latin1\u swedish\u ci
collated列进行排序。就这么简单!我只需要将列的排序改为拉丁文1_瑞典语ci,然后它就完全按照我的要求开始工作了。有点遗憾,我没有自己解决。Thx用于快速响应。