sql >> データベース >  >> RDS >> Mysql

Django文字セットとエンコーディング

    charsetを設定します utf8mb4へのオプション OPTIONSDATABASESの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 >



    1. 手動で可能なクエリ内のPL/SQLの不十分な権限

    2. SQLクエリから複数のページを作成する

    3. 既存のデータでPostgreSQLコンテナを使用するにはどうすればよいですか?

    4. PHPのMysql-テーブル内の1行のみを更新するが、最大のID番号を使用する方法