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'>


版权声明:本文为qq_35221523原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。