python从sqllite中取中文乱码有关问题
python从sqllite中取中文乱码问题Python code#!python# encoding: gbkimport sqlite3 as sqliteconn sql
python从sqllite中取中文乱码问题
Python code#!python# encoding: gbkimport sqlite3 as sqliteconn = sqlite.connect('test.db')conn.text_factory = strc = conn.cursor()c.execute("select * from tb")all = c.fetchall()for data in all: print data[0]
我在这个库中加入中文可以正常查询输出中文,但是我换了一个数据库,数据类型都没有变。代码只是改动了数据库连接和查询语句。但是确出现乱码。
C:\Python26>python sql.txt
中国
中国
美国
飞机
这个是这个库里面正常的输出
改动了以后就输出
C:\Python26>python sql1.txt
鑹
数据内容有些变化,但是都是汉字。
求解决
[解决办法]估计是两个数据库中指定的编码不一样. 可以用"pragma encoding"查看数据库的编码,象这样:
~/shizi/ sqlite3 shizi.db
sqlite> pragma encoding;
UTF-8
sqlite>