поиск кириллицы - PullRequest
       11

поиск кириллицы

10 голосов
/ 21 января 2009

Я изменил одно из приложений, которые я сделал для российского рынка. Казалось бы, все хорошо, была проблема, когда вы вводили данные в базу данных, но это было решено путем установки кодировки страницы в utf-8. Так что вставка и извлечение работает нормально. Я столкнулся с проблемой, я просто не знаю, как справиться. Когда я запустил следующий запрос (упрощенно) в анализаторе запросов mssql (так что нет никаких шансов, что он испортился в коде), я не получил результатов, даже при том, что есть несколько записей, соответствующих: (версия mysql 2005)

SELECT *
FROM institutions
WHERE city LIKE '%Москва%'
ORDER BY address1

, даже если я изменю его на:

SELECT *
FROM institutions
WHERE city='Москва'
ORDER BY address1

или какой-то другой вариант, он просто не работает. Вопрос почему?

P.S. Если вы не видите кириллические буквы после того, как я отправил это сообщение, оно ищет Москву как город.

У кого-нибудь есть решение или идея, что делать?

Ответы [ 2 ]

26 голосов
/ 21 января 2009

ОК, только что нашел ответ, и он немного хромает :). Вам нужно добавить N перед строкой Unicode.

SELECT * FROM institutions WHERE city LIKE N'%Москва%' ORDER BY address1

Я оставлю это на случай, если кто-то еще застрянет с ним.

4 голосов
/ 21 января 2009

N сообщает SQL Server, что это unicode, а не ascii

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