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

UnicodeEncodeError:codec 'latin-1' không thể mã hóa ký tự

Tôi đã gặp phải vấn đề tương tự khi sử dụng mô-đun Python MySQLdb. Vì MySQL sẽ cho phép bạn lưu trữ bất kỳ dữ liệu nhị phân nào bạn muốn trong trường văn bản bất kể bộ ký tự là gì, tôi đã tìm thấy giải pháp của mình ở đây:

Sử dụng UTF8 với Python MySQLdb

Chỉnh sửa:Trích dẫn từ URL trên để đáp ứng yêu cầu trong nhận xét đầu tiên ...

"UnicodeEncodeError:codec 'latin-1' không thể mã hóa ký tự ..."

Điều này là do MySQLdb thường cố gắng mã hóa everythin thành latin-1. Điều này có thể được khắc phục bằng cách thực hiện các lệnh sau ngay sau khi bạn thiết lập kết nối:

db.set_character_set('utf8')
dbc.execute('SET NAMES utf8;')
dbc.execute('SET CHARACTER SET utf8;')
dbc.execute('SET character_set_connection=utf8;')

"db" là kết quả của MySQLdb.connect() và "dbc" là kết quả của db.cursor() .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi mysql 1025 (HY000):Lỗi khi đổi tên của './foo' (errorno:150) nghĩa là gì?

  2. Cách di chuyển mô hình giữa hai ứng dụng Django (Django 1.7)

  3. NOW () Ví dụ - MySQL

  4. Thay thế cho mysql_real_escape_string mà không cần kết nối với DB

  5. Lỗi sự kiện Mysql khi sử dụng php