SQLite-Python中如何返回、查询中文字段

博主在这个问题上卡了挺久的,贴出来解决方法帮助需要的朋友,直接上代码(测试环境: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'>

猜你喜欢

转载自blog.csdn.net/qq_35221523/article/details/79398643