sql >> Databáze >  >> RDS >> Mysql

Znaková sada a kódování Django

Nastavte charset možnost utf8mb4 v OPTIONS diktátu DATABASES nastavení v souboru nastavení Django:

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
        }
    }
}

Tyto možnosti budou předány jako argumenty funkci připojení ovladače mysql, což je obvykle mysqlclient . Zde můžete vidět v dokumentaci všechny tyto parametry:

https://mysqlclient.readthedocs.io/user_guide.html#functions-and -atributy

Pokud používáte jiný ovladač pro mysql však možná budete potřebovat jinou možnost.

Také se ujistěte, že v databázi MySQL je znaková sada sloupce, tabulky nebo celé databáze nastavena na utf8mb4 . Další informace o znakových sadách v MySQL viz:

Dokumenty MySQL:Určení znakových sad a řazení
Dokumenty MySQL:Znaková sada utf8mb4 (4bajtové kódování UTF-8 Unicode)
Stack Overflow:Jaký je rozdíl mezi znakovými sadami utf8mb4 a utf8 v MySQL?

V Djangu mimochodem probíhá žádost o stažení, aby bylo možné vytvořit utf8mb4 výchozí:https://github.com/django/django/pull/8886



  1. Vysvětlení operátora Oracle MINUS

  2. MySQL a NoSQL:Pomozte mi vybrat ten správný

  3. Nelze nainstalovat klenot mysql2 na macOS Sierra

  4. Nápověda k dotazu SQL - mají dvě podmínky kde v podmínce spojení