Sql like русских слов без учёта регистра в rails?

Возникла проблема, при запросе к базе данных русские(кириллица) слова сравниваются с учётом регистра, хотя в то же время латиница сравнивается без учёта регистра.

Пробовал победить это с помощью .mb_chars.downcase.to_s и lower в запросе, но толку нет.

where('lower(first_name) like ?', name).mb_chars.downcase.to_s<br>


Подскажите решение данной проблемы
  • Вопрос задан
  • 4784 просмотра
Решения вопроса 1
Nitrino
@Nitrino Автор вопроса
Разобрался, это осбенность sqlite, по умолчанию в нём функция lower не работает для UTF-8, нужно или писать свою функцию или брать сборку sqlite c поддержкой unicode. На продакшене с mysql всё работает.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
AmdY
@AmdY
PHP и прочие вебштучки
кодировка у вас в базе какая, случаем не bin?
Ответ написан
sl_bug
@sl_bug
версия руби, рельсов и полученный sql запрос из логов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы