У меня есть код, который берет имя термина и извлекает сообщение с пользовательским типом сообщения с тем же именем.Это хорошо работает.За исключением случаев, когда в названии присутствует символ «*».
например, псевдокод
$q = new WP_Query (array( 'name' => "Insurance Rating £1K"));
if($q->have_posts()){
// expected path of logic flow
} else {
// nothing was found =s
}
Этот пост действительно существует, но не найден, и эта проблема касается только случаев со знаком «£».персонаж в названии.Поскольку Wordpress уже очищает заголовки и т.д., что происходит?Почему это не работает?
edit:
Это общий случай, не относящийся ни к одной моей кодовой базе.Я хочу знать, почему это происходит и как этого избежать, кодовая база, в которой это возникло впервые, не имеет значения.Поэтому мне не нужно альтернативное решение, так как я ищу Почему это произошло
edit 2:
В таблицах базы данных используется кодировка utf8_general_ci
.
Символ £ также сохраняется как есть, а не как html-сущность, вот скриншот из phpmyadmin:
