2013-05-25 3 views
2

Я попытался сделать поиск с помощью LIKE оператора:LIKE оператор MySQL не работает

SELECT author_id, header, text FROM blog_u.posts WHERE text LIKE '%Samsung%'; 

Он работает с латинскими символами, но не работает с русским

SELECT author_id, header, text FROM blog_u.posts WHERE text LIKE '%Проверка%'; 

Моей базой данных в UTF- 8. Помогите мне PLS

+1

Можете ли вы уточнить? Кажется, я работаю для меня в этой скрипке: http://sqlfiddle.com/#!2/49cc2/1 – sgeddes

+0

Моя проблема была в моей кодировке сервлета, но спасибо в любом случае – stark

ответ

2

В качестве продолжения моего комментария, я не думаю, что у вас проблема с LIKE. Тем не менее, вы должны убедиться, что то, что вы ищете, имеют эквивалентные значения ascii.

Для примера рассмотрим следующее:

select * from posts where Text Like '%Проверка%'; 
select ascii('p'); 
select ascii('р'); 

«р» выглядит идентично в обоих, но версия ASCII действительно разные - один работает, а другой нет. Я скопировал p в вашем заявлении выше, просто набрав p на моей клавиатуре.

Here is a Fiddle to demonstrate.

Смежные вопросы