博主在这个问题上卡了挺久的,贴出来解决方法帮助需要的朋友,直接上代码(测试环境:win10+Python2.7):
# coding=utf-8
import sqlite3
with sqlite3.connect(":memory:") as conn:
try:
init_sql = " create table test (id integer primary key ,name text(200) not null);" \
" insert into test (name) values ('小居居');" \
" insert into test (name) values ('大居居');"
conn.executescript(init_sql)
except Exception as e:
conn.rollback()
raise e
else:
conn.commit()
conn.text_factory = str # 此处是关键,sqlite默认文本存取是Unicode
try:
for row in conn.execute(" select * from test where name = ?",("大居居",)):
print row[1],type(row[1])
except Exception as e:
raise e
结果:
大居居 <type 'str'>