sqlite默认编码是utf-8,在我们的PYTHON文件中设置文件保存编码及输出默认编码都为utf-8
在python安装目录lib/site-packages,下新建 sitecustomize.py
输入
import sys
sys.setdefaultencoding('utf-8') #set default encoding to utf-8
python运行时自动设置编码为utf-8
往sqlite中插入数据然后直接print的时候,需要将数据编码转换为其他编码,比如gbk
使用方法:
def Utf82Gb(self,str):
return str.decode('UTF-8').encode('gbk')
就可以轻松解决往sqlite中插入中文数据正确显示的问题~
重大提醒:
# Never do this -- insecure!
symbol = 'RHAT'
c.execute("SELECT * FROM stocks WHERE symbol = '%s'" % symbol)
# Do this instead
t = ('RHAT',)
c.execute('SELECT * FROM stocks WHERE symbol=?', t)
同时如果涉及到中文,就是仅有一个字段,也要使用tuple形式