海上月明

          editer by sun
          posts - 162, comments - 51, trackbacks - 0, articles - 8
             :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

          【轉(zhuǎn)】python與sqlite中文數(shù)據(jù)的問題

          Posted on 2013-06-08 14:04 pts 閱讀(854) 評論(0)  編輯  收藏 所屬分類: Python

           

          【轉(zhuǎn)】python與sqlite中文數(shù)據(jù)的問題


          sqlite默認編碼是utf-8,在我們的PYTHON文件中設(shè)置文件保存編碼及輸出默認編碼都為utf-8

           

          在python安裝目錄lib/site-packages,下新建 sitecustomize.py
          輸入
          import sys
          sys.setdefaultencoding('utf-8') #set default encoding to utf-8

          python運行時自動設(shè)置編碼為utf-8

          往sqlite中插入數(shù)據(jù)然后直接print的時候,需要將數(shù)據(jù)編碼轉(zhuǎn)換為其他編碼,比如gbk

          使用方法:

               def Utf82Gb(self,str):        
                   return    str.decode('UTF-8').encode('gbk')

           

          就可以輕松解決往sqlite中插入中文數(shù)據(jù)正確顯示的問題~


          重大提醒:
          # 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形式

          主站蜘蛛池模板: 沧州市| 永吉县| 察雅县| 乌兰县| 万州区| 喀喇沁旗| 吉水县| 鹤峰县| 禹州市| 正安县| 盐源县| 南皮县| 噶尔县| 邓州市| 泰来县| 旺苍县| 屯留县| 泾源县| 舒城县| 潞城市| 社旗县| 凤冈县| 南涧| 连云港市| 梁河县| 偏关县| 顺昌县| 潼关县| 德钦县| 玉龙| 张家口市| 玉林市| 海晏县| 罗平县| 牟定县| 兴仁县| 万载县| 调兵山市| 兴化市| 岫岩| 永宁县|