海上月明

editer by sun
posts - 162, comments - 51, trackbacks - 0, articles - 8
   :: 首页 :: 新随笔 ::  :: 聚合  :: 管理

【转】python与sqlite中文数据的问题

Posted on 2013-06-08 14:04 pts 阅读(827) 评论(0)  编辑  收藏 所属分类: Python

 

【转】python与sqlite中文数据的问题


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形式


只有注册用户登录后才能发表评论。


网站导航: