我在mysql表上有一个简单的php pdo查询,它在phpmyadmin控制台中返回一个结果,但使用下面的查询无法返回php中的任何行。。。为什么phpmyadmin和pdo查询会产生不同的结果?
$statement = $this->db->connection->prepare($sql);
$statement->execute();
$arrResults = $statement->fetchAll(PDO::FETCH_ASSOC);
在我的dsn中,我有
;charset=utf8mb4
而且还设置了
$this->connection->exec("SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;");
查询的where部分如下所示。。。注意引起pdo问题的“ø”字符。如果我删除它,搜索工作正常。
WHERE (R.last_name LIKE '%Schø%' OR R.first_name LIKE '%Schø%')
或
WHERE (R.last_name LIKE _utf8mb4 '%Schø%' COLLATE utf8mb4_unicode_ci OR R.first_name LIKE _utf8mb4 '%Schø%' COLLATE utf8mb4_unicode_ci )
在phpmyadmin中返回的结果:
可搜索列:
暂无答案!
目前还没有任何答案,快来回答吧!