У меня есть простая модель:
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
После выполнения название отображается в неправильной кодировке:
Я пробовал как просто
name='Няня'
, так и
name=u'Няня'
- все тоже самое, отображается в неправильной кодировке.
Если же в командной строке вызову:
python manage.py shell < mockfill.py
и затем начну вручную набивать:
>>> from employeeapp.models import Profession
>>> p = Profession(name='Няня')
>>> p.save()
то результат правильный:
Понятно, что ошибка в кодировке. Но где? В файле скрипта? В настройках консоли?
Если, что пользуюсь VS Code. Внизу написано UTF-8.