2013-03-27 8 views
0

2 요소 튜플의 목록을 받아 SQLite 테이블에 추가하려고합니다.SQLite의 UnicodeDecodeError

튜플의 첫 번째 요소는 (unicode utf-8으로 인코딩 된) 문자열이고 두 번째 요소는 utf-8 문자열의 murmurhash3 hash입니다.

이되는 위반 라인 : 결과에 대한

self.dbc.primaryCursor.executemany("insert into Table values(?,?); 
select last_insert_rowid() as lastrowid;", ListOfTermsAndHashesTuples) 

오류가 UnicodeDecodeError입니다에서 :

'ascii' codec can't decode byte 0xc3 in position 4: ordinal not in range(128). 

이 오류의 원인은 무엇?

+0

코드 스 니펫을 여기에 넣을 수 있습니까? 문자열을 SQLite로 보내기 전에 인코딩/디코딩 작업을 수행합니까? –

+0

파이썬은 문자열이 UTF-8이 아닌 ASCII라고 생각합니다. 해당 문자열을 만드는 방법을 보여줍니다. –

답변

0

입력 내용이 유효한 UTF-8 형식이 아닌 것 같습니다. Linux 및 Mac의 경우 문자열을 파일로 저장하여 다음을 실행하여 쉽게 확인할 수 있습니다.

iconv -f UTF-8 -t UTF-8 <your_filename_goes_here>