海上月明

          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 閱讀(858) 評論(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形式

          主站蜘蛛池模板: 万盛区| 岳阳县| 阳新县| 西乌珠穆沁旗| 福泉市| 遂川县| 同心县| 东乡县| 罗甸县| 军事| 丹阳市| 岳池县| 定结县| 芷江| 巴马| 滦南县| 宜兴市| 垣曲县| 游戏| 巴林右旗| 故城县| 榆树市| 肃北| 喜德县| 新丰县| 正蓝旗| 海原县| 都昌县| 开鲁县| 田东县| 将乐县| 定边县| 如皋市| 横山县| 南丰县| 平乐县| 莎车县| 抚宁县| 昌图县| 双城市| 邳州市|