Php MySQL-搜索瑞典语字符

Php MySQL-搜索瑞典语字符,php,mysql,cakephp,unicode,Php,Mysql,Cakephp,Unicode,我在MysQL数据库中存储了瑞典语单词。表的编码是 utf8_unicode_ci 我也试过了 utf8_swedish_ci 当我在数据库中搜索时,“a”和“ä”的处理方式是一样的。因此结果包括以a和ä开头的两个单词。这是事实,反之亦然。 我的应用程序是用CakePHP开发的,我的core.php中有以下内容 Configure::write('App.encoding', 'UTF-8'); 我有什么遗漏吗 这是我的疑问: $term = $this->request->q

我在MysQL数据库中存储了瑞典语单词。表的编码是

utf8_unicode_ci
我也试过了

utf8_swedish_ci
当我在数据库中搜索时,“a”和“ä”的处理方式是一样的。因此结果包括以a和ä开头的两个单词。这是事实,反之亦然。 我的应用程序是用CakePHP开发的,我的core.php中有以下内容

Configure::write('App.encoding', 'UTF-8');
我有什么遗漏吗

这是我的疑问:

$term = $this->request->query['term'];

$this->loadModel('Words');
$condition = array('word LIKE' => trim($term) . '%', 'is_active' => true);
$words = $this->Words->find('list', array(
    'fields' => array('word'),
    'limit' => 7,
    'conditions' => $condition));

return $this->respond($words, true);
我用于Jquery自动完成:

$(function () {
        $("#tags").autocomplete({
            source: 'autocomplete'
        });
    });

这对我很有用。谢谢@Mihai的评论。

你能显示你的查询吗?我添加到了帖子中。没有什么比早上新的SQL注入漏洞气味更好的了:)请手动避开你的用户输入(
DboSource::value()
)或者使用准备好的语句,我正试图这样做,但由于某种原因,我什么也得不到:$db=$this->Words->getDataSource()$query_result=$db->fetchAll('SELECT words FROM tbl_words,其中像“%”这样的词比较utf8_-bin,并且处于活动状态=真限7',数组('als');
$query_result = $this->Words->query("SELECT word FROM tbl_words WHERE word LIKE '" . $term . "%' COLLATE utf8_bin LIMIT 7 ;");