0

我正在使用最新的 CakePHP (2.1.x),当我进行如下查找时,当Model.name字段包含西班牙语字符时,它会返回一个空数组:

$this->Model->find(
        'list', 
        array(
            'conditions' => array(
                'LOWER(Model.name) LIKE' => '%'.$keyword.'%'
            ),
            'fields' => array(
                'Model.id', 
                'Model.name'
            )
        )
    );

当我显示sql_dump元素时,查询很好,它显示 0 Error、 1Affected和 1 Num Rows;另外,当我尝试查询时,它在 phpMyAdmin 上也能正常工作。

整个网站都是英文的,内容类型是UTF-8。我试图更改编码但没有成功。

该字段存储在数据库(MySQL)上,就name varchar(255) latin1_swedish_ci好像这可以提供任何帮助一样。

4

2 回答 2

3

也许您也需要在数据库连接上指定 utf-8 编码

看看这个,希望对你有帮助

于 2012-05-17T14:56:02.163 回答
0

实际上,您需要为数据库指定 utf-8:

转到ROOT/app/config/database.php

在 DATABASE_CONFIG 类中更改编码

'encoding' => 'utf8',
于 2015-01-23T15:17:12.513 回答