以下带有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;
可能是什么原因以及如何解决这个问题?