MySQL LIKE返回特殊字符的错误结果

时间:2017-11-24 11:43:02

标签: php mysql sql wordpress sql-like

以下带有MySQL的PHP​​脚本基本上可以正常工作:

global $wpdb;

$keyword = $wpdb->_real_escape(strtolower($keyword));

$res = $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE post_type='product' AND post_status='publish' AND ((LOWER(post_title) LIKE '%{$keyword}%') OR (LOWER(post_content) LIKE '%{$keyword}%'))");

“gewinnen”,“zeit”和“name”等关键字的结果是正确的。但是,如果我使用“Rosé”,“Günther”或“große”(非ASCII字符的所有内容)等术语,则表示没有结果或完全错误的结果。

关于字符集和整理的wp_posts表的WordPress默认值很可能是:

CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

可能是什么原因以及如何解决这个问题?

0 个答案:

没有答案