charset
を設定します utf8mb4
へのオプション OPTIONS
で DATABASES
のdict 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
}
}
}
これらのオプションは、引数としてmysqlドライバー接続関数(通常はmysqlclient
)に渡されます。 。ここで、これらすべてのパラメータをドキュメントで確認できます:
https://mysqlclient.readthedocs.io/user_guide.html#functions-and -属性
別のドライバー を使用する場合 ただし、mysqlの場合は、別のオプションが必要になる場合があります。
また、MySQLデータベースで、列、テーブル、またはデータベース全体のいずれかの文字セットがutf8mb4
に設定されていることを確認してください。 。 MySQLの文字セットの詳細については、以下を参照してください:
MySQLドキュメント:文字セットと照合の指定
MySQLドキュメント:utf8mb4文字セット(4バイトUTF-8 Unicodeエンコーディング)
Stack Overflow: MySQLのutf8mb4とutf8文字セットの違いは何ですか?
ところで、utf8mb4
を作成するためのDjangoでの進行中のプルリクエストがあります デフォルト: https://github.com/django/django/pull/8886 >