Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Rangkaian karakter dan penyandian Django

Setel charset pilihan untuk utf8mb4 di OPTIONS perintah dari DATABASES pengaturan dalam file pengaturan 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
        }
    }
}

Opsi ini akan diteruskan sebagai argumen ke fungsi koneksi driver mysql, yang biasanya adalah mysqlclient . Di sini Anda dapat melihat dalam dokumentasi semua parameter ini:

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

Jika Anda menggunakan driver yang berbeda untuk mysql, Anda mungkin memerlukan opsi lain.

Pastikan juga bahwa dalam database MySQL, rangkaian karakter baik kolom, tabel, atau seluruh database diatur ke utf8mb4 . Untuk info lebih lanjut tentang kumpulan karakter di MySQL, lihat:

Dokumen MySQL:Menentukan Kumpulan Karakter dan Kumpulan
MySQL docs:Set Karakter utf8mb4 Pengkodean Unicode UTF-8 (4-Byte)
Stack Overflow:Apa perbedaan antara charset utf8mb4 dan utf8 di MySQL?

Ada permintaan tarik yang sedang berlangsung di Django untuk membuat utf8mb4 defaultnya:https://github.com/django/django/pull/8886



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perbarui Kueri Untuk Memperbarui Baris di MySQL

  2. Laravel Eloquent mendapatkan hasil yang dikelompokkan berdasarkan hari

  3. Menyimpan tanggal di Hibernate sebagai tanggal waktu UTC?

  4. PHP:Cara menambah nilai di baris tabel untuk menghitung tampilan dan membatasi jumlah ke satu alamat IP

  5. Hubungkan ke wadah Docker MySQL dari localhost?