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

UnicodeEncodeError:codec 'latin-1' tidak dapat menyandikan karakter

Saya mengalami masalah yang sama saat menggunakan modul Python MySQLdb. Karena MySQL akan membiarkan Anda menyimpan hampir semua data biner yang Anda inginkan dalam bidang teks terlepas dari kumpulan karakter, saya menemukan solusi saya di sini:

Menggunakan UTF8 dengan Python MySQLdb

Sunting:Kutipan dari URL di atas untuk memenuhi permintaan di komentar pertama...

"UnicodeEncodeError:'latin-1' codec tidak dapat menyandikan karakter ..."

Ini karena MySQLdb biasanya mencoba untuk mengkodekan semuanya ke latin-1. Ini dapat diperbaiki dengan menjalankan perintah berikut tepat setelah Anda membuat koneksi:

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

"db" adalah hasil dari MySQLdb.connect() , dan "dbc" adalah hasil daridb.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. Laravel OrderDengan jumlah hubungan

  2. PolyScale.ai – Menskalakan MySQL &PostgreSQL dengan Caching Global

  3. Mana yang tercepat? PILIH SQL_CALC_FOUND_ROWS FROM `table`, atau SELECT COUNT(*)

  4. Bagaimana cara menampilkan karakter UTF-8 di phpMyAdmin?

  5. Bagaimana saya bisa mengatasi MySQL Errcode 13 dengan SELECT INTO OUTFILE?