Задать вопрос
@Eugene523

Неправильная кодировка в при отображении в Django admin?

У меня есть простая модель:
class Profession(models.Model):
    name = models.CharField(max_length=64, help_text="Название профессии")

Я решил написать скрипт для того, чтобы заполнить базу данных mock-записями.
Вот скрипт:
from employeeapp.models import Profession, Employee
p = Profession(name=u'Няня')
p.save()

Вызываю скрипт следующим образом:
python manage.py shell < mockfill.py
После выполнения название отображается в неправильной кодировке:
5e026061a8d25035834142.png
Я пробовал как просто name='Няня', так и name=u'Няня' - все тоже самое, отображается в неправильной кодировке.

Если же в командной строке вызову:
python manage.py shell < mockfill.py
и затем начну вручную набивать:
>>> from employeeapp.models import Profession
>>> p = Profession(name='Няня')
>>> p.save()

то результат правильный:
5e0261aa7a58a741981099.png
Понятно, что ошибка в кодировке. Но где? В файле скрипта? В настройках консоли?
Если, что пользуюсь VS Code. Внизу написано UTF-8.
  • Вопрос задан
  • 194 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@antonksa
Кодеры на венде должны страдать.
Ответ написан
Комментировать
@Eugene523 Автор вопроса
Нашел выход:
вызываем:
python manage.py shell
а затем выполняем:
>>> exec(open("mockfill.py", encoding="utf-8").read())
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы