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

Cara menyandikan (utf8mb4) dengan Python

Saya telah berjuang sendiri dengan pertukaran yang benar dari berbagai karakter UTF-8 antara Python dan MySQL demi Emoji dan karakter lain di luar titik kode U+FFFF.

Untuk memastikan semuanya berfungsi dengan baik, saya harus melakukan hal berikut:

  1. pastikan utf8mb4 digunakan untuk CHAR , VARCHAR , dan TEXT kolom di MySQL
  2. menerapkan UTF-8 dengan Python
  3. menegakkan UTF-8 untuk digunakan antara Python dan MySQL

Untuk menerapkan UTF-8 dengan Python, tambahkan baris berikut sebagai baris pertama atau kedua skrip Python Anda:

# -*- coding: utf-8 -*-

Untuk menerapkan UTF-8 antara Python dan MySQL, siapkan koneksi MySQL sebagai berikut:

# Connect to mysql.
dbc = MySQLdb.connect(host='###', user='###', passwd='###', db='###', use_unicode=True)

# Create a cursor.
cursor = dbc.cursor()

# Enforce UTF-8 for the connection.
cursor.execute('SET NAMES utf8mb4')
cursor.execute("SET CHARACTER SET utf8mb4")
cursor.execute("SET character_set_connection=utf8mb4")

# Do database stuff.

# Commit data.
dbc.commit()

# Close cursor and connection.
cursor.close()
dbc.close()

Dengan cara ini, Anda tidak perlu menggunakan fungsi seperti encode dan utf8_encode .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa sebenarnya yang dimaksud dengan M,D dalam desimal(M,D)?

  2. PHP Apache lumpuh saat menjalankan PROSEDUR TERSIMPAN

  3. Seberapa amankah otentikasi dalam protokol mysql?

  4. Kardinalitas indeks MySQL - kinerja vs efisiensi penyimpanan

  5. Menambahkan hasil database ke array