Stel de charset in optie om utf8mb4 in de OPTIONS dictaat van de DATABASES instelling in het Django-instellingenbestand:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'my_db',
'USER': 'my_user',
'PASSWORD': 'my_pass',
'HOST': 'my.host',
'OPTIONS': {
'charset': 'utf8mb4' # This is the important line
}
}
}
Deze opties worden als argumenten doorgegeven aan de mysql-stuurprogrammaverbindingsfunctie, die doorgaans mysqlclient is. . Hier kunt u in de documentatie al deze parameters zien:
https://mysqlclient.readthedocs.io/user_guide.html#functions-and -kenmerken
Als u een andere driver gebruikt voor mysql heb je misschien een andere optie nodig.
Zorg er ook voor dat in de MySQL-database de tekenset van de kolom, de tabel of de hele database is ingesteld op utf8mb4 . Voor meer informatie over tekensets in MySQL zie:
MySQL-documenten:Tekensets en sorteringen specificeren
MySQL-documenten:De utf8mb4-tekenset (4-Byte UTF-8 Unicode-codering)
Stack Overflow:Wat is het verschil tussen utf8mb4- en utf8-tekensets in MySQL?
Er is trouwens een doorlopend pull-verzoek in Django om utf8mb4 . te maken de standaard:https://github.com/django/django/pull/8886