關於Python讀取SQLite產生的錯誤!

這個意思是說column ‘user_info’ 不能經過UTF-8 decode,就是user_info不是用utf8編碼的
通常狀況下這個狀況出如今text類型的數據上面
這個能夠經過設置 conn.text_factory 解決
conn.text_factory = bytes
把text類型當bytes來解釋,就不會出錯了
不過,這樣也不太好,若是知道是什麼編碼就行了,例子代碼是gbk編碼的
這裏能夠這樣設置:
conn.text_factory = lambda x : str(x, 'gbk', 'ignore')
指示以gbk來解碼而不是默認的utf8html

以上部分轉自http://www.verydemo.com/demo_c152_i1842.htmlweb

 

始終沒搞清楚爲何按照TEXT會產生這個錯誤。可是設置conn.text參數確實可以解決此問題。望高人指點。sql

數據庫:數據庫

CREATE TABLE [user_info] (
  [user_id] INTEGER NOT NULL PRIMARY KEY,
  [user_info] TEXT);json

 user_info字段中記錄的是url編碼的json數據。fetch

就會在res.fetchall()這報錯 編碼

connSQLite sqlite3.connect()
connSQLite.text_factory cur connSQLite.cursor()
sql res cur.execute(sql)
each res.fetchall()
相關文章
相關標籤/搜索