Wordpress Query £ подписывает провал - PullRequest
1 голос
/ 30 марта 2011

У меня есть код, который берет имя термина и извлекает сообщение с пользовательским типом сообщения с тем же именем.Это хорошо работает.За исключением случаев, когда в названии присутствует символ «*».

например, псевдокод

$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:

Database row

1 Ответ

2 голосов
/ 30 марта 2011

В какой кодировке находится ваш PHP-файл и соответствует ли он кодировке базы данных?Они должны соответствовать, чтобы это работало.(Проверьте вашу IDE или эту ссылку , предоставленную @Tom)

В противном случае убедитесь, что символ не является £ сущностью, а не литеральным символом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...