Magento更改数据库查询排序规则

时间:2011-10-04 20:04:23

标签: mysql magento

我安装了Magento 1.5.1.0,目录中的某些产品在产品名称的开头有瑞典字符。按名称排序时,这会导致排序错误。 Ä和Å成为A,Ö成为O.

这意味着排序将如下:

A
Å
Ä
B
[...]

这是因为数据库正在使用排序规则utf8_general_ci。我发现你可以覆盖MySQL在执行查询时使用的排序规则,但我找不到一个很好的方法将它放入Magento代码中。这可能是在Zend级别上完成的吗?

1 个答案:

答案 0 :(得分:0)

转到\app\etc\local.xml,找到default_setup部分,然后在其中添加<initStatements>标记(如果已存在,则进行更改)。所以,它看起来像:

<default_setup>
    <connection>
        <host><![CDATA[your_host]]></host>
        <username><![CDATA[user]]></username>
        <password><![CDATA[password]]></password>
        <dbname><![CDATA[db]]></dbname>
        <initStatements><![CDATA[SET NAMES 'utf8' COLLATE 'utf8_unicode_ci']]></initStatements>
        <model><![CDATA[mysql4]]></model>
        <type><![CDATA[pdo_mysql]]></type>
        <pdoType><![CDATA[]]></pdoType>
        <active>1</active>
    </connection>
</default_setup>