Django - Изменение кодировки клиента с WIN1252 на UTF8
Итак, у меня есть мое приложение Django, развернутое на сервере Heroku, и когда я пытаюсь запросить Post
, я получаю следующее
Как я запрашиваю
// Command to get into postgres
heroku pg:psql
// Query
SELECT * FROM posts;
Что я получаю обратно
ERROR: character with byte sequence 0xf0 0x9f 0x98 0x84 in encoding "UTF8" has no equivalent in encoding "WIN1252"
Я уверен, что происходит то, что кто-то создал сообщение, в котором body
содержит эмодзи. Я использую Postgresql, он поддерживает UTF8
для хранения. Я просто не уверен, какая часть Django заставляет его кодировать в WIN1252
вместо UTF8
. Как изменить кодировку клиента с WIN1252
на UTF8
models.py
class Post(models.Model):
uuid = models.UUIDField(primary_key=True, editable=False)
created = models.DateTimeField('Created at', auto_now_add=True)
updated_at = models.DateTimeField('Last updated at', auto_now=True, blank=True, null=True)
creator = models.ForeignKey(
User, on_delete=models.CASCADE, related_name="post_creator")
body = models.CharField(max_length=POST_MAX_LEN, validators=[MinLengthValidator(POST_MIN_LEN)])
Настройка:
- Postgresql
- Django 3.2.9