在SQLite-Python中实现返回、查询中文字段的方法

yipeiwu_com6年前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'>

以上这篇在SQLite-Python中实现返回、查询中文字段的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

django和vue实现数据交互的方法

我使用的是jQuery的ajax与django进行数据交互,遇到的问题是django的csrf 传输数据的方法如下: $(function() { $.ajax({ ur...

Python实现的根据IP地址计算子网掩码位数功能示例

Python实现的根据IP地址计算子网掩码位数功能示例

本文实例讲述了Python实现的根据IP地址计算子网掩码位数功能。分享给大家供大家参考,具体如下: #!/usr/bin/env python # coding:utf-8 #!/b...

Python3中的真除和Floor除法用法分析

本文实例讲述了Python3中的真除和Floor除法用法。分享给大家供大家参考,具体如下: 在Python3中,除法运算有两种,一种是真除,一种是Floor除法,这两者是有分别的,分别如...

Atom的python插件和常用插件说明

python: simplified-chinese-menu:中文汉化(英文差的) 代码高亮:Atom自带 自动补全:autocomplete-python 语法检查:linter-f...

python实现多线程的两种方式

目前python 提供了几种多线程实现方式 thread,threading,multithreading ,其中thread模块比较底层,而threading模块是对thread做了一...