1
임의의 웹 페이지의 내용을 mysql 데이터베이스 (MySQLdb)에 저장하는 스크립트가 있습니다. 페이지의 일부를 들어, 내가 얻을 : 나는 sqlite3 사용하는 경우MySQL에 삽입 할 때 유니 코드 오류가 발생했습니다.
...
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py",
line 264, in literal
return self.escape(o, self.encoders)
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py",
line 202, in unicode_literal
return db.literal(u.encode(unicode_literal.charset))
UnicodeEncodeError: 'latin-1' codec can't encode character
u'\u203a' in position 172550: ordinal not in range(256)
, 나는 그와 아무 문제가 없었다.
내가 성공하지 않고,이 시도 :CREATE DATABASE the_base CHARACTER SET utf8
질문 : 방법/인코딩이 문제 적없이 DB에 저장되도록 정확하게 데이터를 디코딩?
P. ~ 당신 만이있는 인코딩으로 임의 유니 코드를 저장할 수 없습니다
MySQLdb.connect(... charset='utf8', use_unicode=True)
나는 단지'CREATE DATABASE the_base CHARACTER SET utf8'을 시도했지만 여전히 같은 오류가 발생했습니다. –
연결 매개 변수에'charset = 'utf-8'을 가지고 있는지 확인하십시오 (특히 데이터베이스와 서버가 다른 인코딩을 사용하는 경우). – thebjorn
작품! 실제로는 'utf8'이어야하며, 'utf-8'은 오류를 발생시킵니다. –