Mysql
 sql >> Baza danych >  >> RDS >> Mysql

UnicodeEncodeError:kodek „latin-1” nie może zakodować znaku

Ten sam problem napotkałem podczas korzystania z modułu Python MySQLdb. Ponieważ MySQL pozwoli Ci przechowywać prawie wszystkie dane binarne, które chcesz w polu tekstowym, niezależnie od zestawu znaków, znalazłem moje rozwiązanie tutaj:

Korzystanie z UTF8 z MySQLdb Pythona

Edycja:Cytuj z powyższego adresu URL, aby spełnić prośbę w pierwszym komentarzu...

"UnicodeEncodeError:kodek 'latin-1' nie może zakodować znaku..."

Dzieje się tak, ponieważ MySQLdb zwykle próbuje zakodować wszystko do latin-1. Można to naprawić, wykonując następujące polecenia zaraz po nawiązaniu połączenia:

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

"db" jest wynikiem MySQLdb.connect() , a „dbc” jest wynikiem 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. Korzystanie z aplikacji klienckich MySQL

  2. Neo4j - Usuń ograniczenie za pomocą Cypher

  3. Jak utworzyć bazę danych MySQL w cPanel?

  4. Dodawanie wielu kolumn PO określonej kolumnie w MySQL

  5. Jak mogę użyć executemany, aby wstawić do MySQL listę słowników w Pythonie?