Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách mã hóa (utf8mb4) bằng Python

Tôi đã tự đấu tranh với việc trao đổi chính xác đầy đủ các ký tự UTF-8 giữa Python và MySQL vì lợi ích của Biểu tượng cảm xúc và các ký tự khác ngoài mã U + FFFF.

Để đảm bảo rằng mọi thứ hoạt động tốt, tôi phải làm như sau:

  1. đảm bảo rằng utf8mb4 đã được sử dụng cho CHAR , VARCHARTEXT các cột trong MySQL
  2. thực thi UTF-8 bằng Python
  3. thực thi UTF-8 để được sử dụng giữa Python và MySQL

Để thực thi UTF-8 trong Python, hãy thêm dòng sau làm dòng đầu tiên hoặc dòng thứ hai trong tập lệnh Python của bạn:

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

Để thực thi UTF-8 giữa Python và MySQL, hãy thiết lập kết nối MySQL như sau:

# 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()

Bằng cách này, bạn không cần sử dụng các chức năng như encodeutf8_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. Hiệu suất chế độ xem MySQL

  2. Khắc phục “ERROR 1222 (21000):Các câu lệnh SELECT đã sử dụng có một số cột khác nhau” khi sử dụng UNION trong MySQL

  3. CHỌN * TỪ nhiều bảng. MySQL

  4. Bí danh tham gia MySQL INNER

  5. Nhập giới hạn kích thước tệp trong PHPMyAdmin