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、 1 Affected、および 1 と表示されNum Rowsます。さらに、クエリを試してみると、phpMyAdmin でも問題なく動作しています。

ウェブサイト全体は英語で、コンテンツ タイプは UTF-8 です。エンコーディングを変更しようとしましたが成功しませんでした。

name varchar(255) latin1_swedish_ciフィールドは、これが役立つかのように DB (MySQL) に保存されます。

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 に答える