导航:首页 > 编程语言 > pythonsqlite3中文

pythonsqlite3中文

发布时间:2023-07-03 18:18:22

‘壹’ python3读取word文件到sqlite

大象关进冰箱需要两步走:

  1. 获取word文件内容
  2. 将获取的内容拆分为对应的业务字段并写入sqlite中

首先我这有个文档,里面包含了驾照考试科四试题。

‘贰’ Python2.7.5下从SQLite3中查询中文,请求帮忙!

这个你确定没有报别的错误么, cu.execute("select * from table where username=%s"%name)#找某个表中的姓名为XX的用户 %s两边要单引号的吧

‘叁’ 最近学python和bottle框架,用sqlite3,网页中文显示乱码,咋办捏

这个不是乱码,是unicode过的中文,你直接显示就是看到的中文了

‘肆’ 如何在python程序中查看sqlite3某数据库中的表名

sqlite3数据库里表的信息存储在了一个名为sqlite_master的表中

因此可以通过这条语句来查看数据库中所有表的名称

SELECT name FROM sqlite_master WHERE type='table';

下面是Python的用法

con=sqlite3.connect('database.db')
cursor=con.cursor()
cursor.execute("SELECTnameFROMsqlite_masterWHEREtype='table';")
print(cursor.fetchall())

‘伍’ Python和SQLite问题,怎么解决

python编码如果把中文数据存储至sqlite数据库某一字段中,再通过查询语句取出并进行相关的字符串操作时,经常会出现错误提示,类似于UnicodeDecodeError,提示某一类型编码不能转换。

出现这个问题的原因是因为python默认使用unicode处理sqlite3的TEXT类型(varchar类型也是如此,因为在sqlite中varchar其实就是TEXT)。python把中文存入数据库时使用了类似于GBK这样的编码,取出时会尝试把TEXT类型数据转换成unicode,从而出现错误。
由此导致的另一个不容易发现的错误是存储在数据库中的中文进行了base64之类的编码,在python中取出时不会存在错误,但是再进行base64解码,并与sqlite3中取出的其它text字段进行字符串拼接等处理,就出现编码转换错误,很难发现问题原因,可以把其它text字段进行如'aaa'.encode('gbk')编码成GBK码解决,但不提倡这种方法,更好方法如下:
解决方法是python连接sqlite数据库后进行如下设置:
conn = sqlite3.connection(“……”)
conn.text_factory = str
另外为了python代码中硬编码的中文字符串不出现问题,除了在源码开始添加
# -*- coding:utf-8 -*-
还要设置python源码的编码为utf-8
import sys
reload(sys)
sys.setdefaultencode('utf8')

阅读全文

与pythonsqlite3中文相关的资料

热点内容
70后程序员照片 浏览:191
一个普通程序员能干多久 浏览:934
adobe的PDF转换器 浏览:853
单片机数字码表汇编 浏览:477
单片机开发用的软件 浏览:151
程序员8个算法题 浏览:402
php题库系统 浏览:221
王牌战争文明重启选什么服务器 浏览:653
简述对称加密法 浏览:658
c语言数学编程 浏览:990
F1B命令 浏览:630
cs命令快捷键 浏览:852
阿里云购买服务器如何用现金支付 浏览:691
pythontime等待 浏览:988
单片机串行通信方式 浏览:498
android表格demo 浏览:278
安卓怎么让相册不显示网页 浏览:314
php文件系统源码 浏览:727
易信java 浏览:501
北仑二级压缩螺杆机 浏览:63