2013-03-27 76 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

你能在這裏把你的代碼片段: 在Linux和Mac,你可以很容易地把你的字符串轉換成一個文件,並運行檢查呢?在將字符串輸入到SQLite之前,您是否執行任何編碼/解碼操作? – 2013-03-27 01:29:00

+0

Python認爲你的字符串是ASCII,而不是UTF-8。顯示如何創建該字符串。 – 2013-03-27 07:53:55

回答

0

您的輸入很可能不是有效的UTF-8格式。

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