Найти - Пользователи
Полная версия: Postgresql не работает icontains
Начало » Базы данных » Postgresql не работает icontains
1
legi0ner
Есть 2 базы postgresql

на windows кодировка utf8 сопоставление Russian_Russia.1251
на ubuntu кодировка utf8 сопоставление C
Есть код в котором фильтрую данные Test.objects.filter(name__icontains=u“наз”)

в первом случае в ответ попадают значения - Наз… и наз…

во втором случае только = наз…

Не могу понять как решить проблему. получается все из-за сопоставления
legi0ner
Нашел ответ.

Оказалось что LC_CTYPE - Классификация символов (Что представляет собой буква? Каков её эквивалент в верхнем регистре?)
подробнее https://postgrespro.ru/docs/postgrespro/9.5/locale

У меня на ubuntu LC_CTYPE = C, нужно сделать ru_RU.utf8.

1.Необходимо проверить установленные локали, нужно чтобы у вас в списке был ru_RU.UTF-8 (если нет установить)
2. Пересоздать кластер с учётом локали (не забываем сохранить данные) (пример - https://www.sinyawskiy.ru/invalid_locale.html)
3. восстанавливаем сохраненные данные
4. profit
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB