Форум сайта python.su
Есть 2 базы postgresql
на windows кодировка utf8 сопоставление Russian_Russia.1251
на ubuntu кодировка utf8 сопоставление C
Есть код в котором фильтрую данные Test.objects.filter(name__icontains=u“наз”)
в первом случае в ответ попадают значения - Наз… и наз…
во втором случае только = наз…
Не могу понять как решить проблему. получается все из-за сопоставления
Офлайн
Нашел ответ.
Оказалось что 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
Офлайн