亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python連接mssql數(shù)據(jù)庫編碼問題解決方法

系統(tǒng) 1520 0

python一直對(duì)中文支持的不好,最近老遇到編碼問題,而且?guī)缀鯖]有通用的方案來解決這個(gè)問題,但是對(duì)常見的方法都試過之后,發(fā)現(xiàn)還是可以解決的,下面總結(jié)了常用的支持中文的編碼問題(這些方法中可能其中一個(gè)就能解決問題,也可能是多個(gè)組合)。

(1)、首先,要保證文件的開頭要加上編碼設(shè)置來說明文件的編碼

復(fù)制代碼 代碼如下:

#encoding=utf-8

(2)、然后,在連接數(shù)據(jù)的連接參數(shù)里加上字符集說明查詢出的結(jié)果的編碼,這個(gè)不加的后果可能是查詢出的漢字字符都是問號(hào)
復(fù)制代碼 代碼如下:

conn=pymssql.connect(server='.',user='', password='',database='MyTest',charset='utf8')

(3)、設(shè)置python系統(tǒng)的默認(rèn)編碼(對(duì)于文件來說,這招幾乎屢試不爽,呵呵~~)
復(fù)制代碼 代碼如下:

import sys
reload(sys)
sys.setdefaultencoding('utf8')

注意:上述編碼是“utf8”,而不是“utf-8”,我也沒弄明白,大部分情況下,這個(gè)無所謂的,但是這里我試了必須要是“utf8”

一個(gè)簡(jiǎn)單的完整的python連接mssqlserver的例子如下(得安裝pymssql包):

復(fù)制代碼 代碼如下:

#encoding:utf8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
import pymssql
try:
??? conn=pymssql.connect(server='.',user='', password='',database='MyTest',charset='utf8')
??? sql="select * from UserInfo"

??? cur=conn.cursor()
??? cur.execute(sql)
??? data=cur.fetchall()
??? conn.close()
??? print data
except Exception,e:
??? print e

運(yùn)行結(jié)果如下:

復(fù)制代碼 代碼如下:

[(u'20093501', u'\xb9\xf9\xbe\xb8', u'\u7537 ', 35, u'\xb4\xf3\xcf\xc0'),
?(u'20093502', u'\xbb\xc6\xc8\xd8', u'\u5973 ', 34, u'\xc3\xc0\xc5\xae'),
?(u'20093503', u'\xc1\xee\xba\xfc\xb3\xe5', u'\u7537 ', 25, u'2B\xc7\xe0\xc4\xea'),
?(u'20093504', u'\xc8\xce\xd3\xaf\xd3\xaf', u'\u5973 ', 24, u'\xc6\xaf\xc1\xc1')]
?[Finished in 0.2s]
?

  雖然擺脫了問號(hào)和亂碼的困擾,但這仍不是我們想要的結(jié)果,但這個(gè)確實(shí)是正確的,因?yàn)榻Y(jié)果是utf8編碼。這個(gè)現(xiàn)象確實(shí)詭異,請(qǐng)教了許多高手,得知,最好的結(jié)果就是逐個(gè)字段查詢,才能顯示中文,整個(gè)查詢的話,會(huì)以u(píng)tf8的格式顯示出來。

  上述代碼中第14行data是整個(gè)查詢的結(jié)果,如果指定某個(gè)具體的字段,如print data[0][2](表示取查詢結(jié)果的第一行第三列的字段的值),則會(huì)輸出中文。

其實(shí)不僅僅是mssqlserver數(shù)據(jù)庫,mysql(需下載MySQLdb包)、sqllite(python自帶的文件數(shù)據(jù)庫)、mongodb(需下載PyMongo包)等或者是普通文本文件也是類似的解決方案。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: a免费网站| 亚洲二三区 | 98在线视频噜噜噜国产 | 国产欧美日韩高清专区手机版 | 天堂成人在线 | 国产成人国产在线观看入口 | 久久99精品这里精品动漫6 | 奇米第四影视 | 日本一区色 | 日本一区二区三区欧美在线观看 | 在线观看欧美精品 | 国产欧美日韩综合一区二区三区 | 九九视频在线播放 | 四虎影院视频在线观看 | 亚洲国产精品视频 | 精品乱人伦一区二区 | 狠狠色丁香久久婷婷综合五月 | 四虎影院精品 | 欧美成人h精品网站 | 一本大道香蕉中文在线高清 | 色综合久 | 日韩欧美伊人久久大香线蕉 | 亚洲伊人久久综合 | 最近中文字幕精彩视频 | 韩日一区二区三区 | 国产一区二区三区毛片 | 五月婷婷视频在线观看 | 欧美日韩国产在线观看 | 天天干天天干天天干天天干天天干 | 国产不卡在线 | 美国一级毛片片aa成人 | 免费观看欧美一级特黄 | 国产色视频一区 | 国产欧美网站 | 亚洲国产精久久小蝌蚪 | 免费大片黄在线观看yw | 亚洲精品人成无码中文毛片 | 性短视频在线观看免费不卡流畅 | 狠狠婷婷 | 久久国产精品网 | 久草综合视频 |