最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2015年01月01日 12:54:49   投稿:junjie  
這篇文章主要介紹了Python連接mssql數(shù)據(jù)庫編碼問題解決方法,本文方法同樣適用mysql、sqllite、mongodb等數(shù)據(jù)庫,需要的朋友可以參考下

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

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

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

#encoding=utf-8

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

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

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

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

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

一個簡單的完整的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]
 

  雖然擺脫了問號和亂碼的困擾,但這仍不是我們想要的結(jié)果,但這個確實是正確的,因為結(jié)果是utf8編碼。這個現(xiàn)象確實詭異,請教了許多高手,得知,最好的結(jié)果就是逐個字段查詢,才能顯示中文,整個查詢的話,會以utf8的格式顯示出來。

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

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

相關(guān)文章

  • Python實現(xiàn)刪除文件但保留指定文件

    Python實現(xiàn)刪除文件但保留指定文件

    這篇文章主要介紹了Python實現(xiàn)刪除文件但保留指定文件,本文直接給出實現(xiàn)代碼,并同時給出代碼解釋,需要的朋友可以參考下
    2015-06-06
  • python中屏蔽輸出示例詳解

    python中屏蔽輸出示例詳解

    python中屏蔽輸出包含屏蔽標(biāo)準(zhǔn)輸出(比如打印出來的內(nèi)容)、屏蔽標(biāo)準(zhǔn)錯誤(錯誤信息)還有屏蔽logging信息等,這篇文章主要介紹了python中屏蔽輸出,需要的朋友可以參考下
    2024-05-05
  • Python調(diào)用C語言的實現(xiàn)

    Python調(diào)用C語言的實現(xiàn)

    這篇文章主要介紹了Python調(diào)用C語言的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python異常處理try except過程解析

    python異常處理try except過程解析

    這篇文章主要介紹了python異常處理try except過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • 如何利用Python批量處理行、列和單元格詳解

    如何利用Python批量處理行、列和單元格詳解

    因為之后的工作可能會經(jīng)常用到excel,而且也不想荒廢Python,出于為以后做準(zhǔn)備以防不時之需,下面這篇文章主要給大家介紹了關(guān)于如何利用Python批量處理行、列和單元格的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • Python 遍歷循環(huán)詳細(xì)

    Python 遍歷循環(huán)詳細(xì)

    這篇文章主要介紹的是Python 遍歷循環(huán),遍歷循環(huán)可理解為從遍歷結(jié)構(gòu)中逐一提取元素,放在循環(huán)變量中,對于所提取的每個元素執(zhí)行一次語句塊。由保留字for和in組成,完整遍歷所有元素后結(jié)束每次循環(huán),所獲得元素放入循環(huán)變量,并執(zhí)行一次語句塊,下面就來看文章介紹
    2021-10-10
  • Python實現(xiàn)微博動態(tài)圖片爬取詳解

    Python實現(xiàn)微博動態(tài)圖片爬取詳解

    這篇文章主要為大家介紹了如何利用Python中的爬蟲實現(xiàn)微博動態(tài)圖片的爬取,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起動手試一試
    2022-03-03
  • 10個示例帶你掌握python中的元組

    10個示例帶你掌握python中的元組

    這篇文章主要介紹了python中的元組的相關(guān)資料,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11
  • python 修改本地網(wǎng)絡(luò)配置的方法

    python 修改本地網(wǎng)絡(luò)配置的方法

    今天小編就為大家分享一篇python 修改本地網(wǎng)絡(luò)配置的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Django-simple-captcha驗證碼包使用方法詳解

    Django-simple-captcha驗證碼包使用方法詳解

    這篇文章主要介紹了Django-simple-captcha驗證碼包使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11

最新評論

太原市| 锡林郭勒盟| 彭泽县| 洪江市| 顺昌县| 威信县| 莱阳市| 万山特区| 木兰县| 邯郸市| 寿宁县| 三明市| 安乡县| 保定市| 襄垣县| 焉耆| 秭归县| 元阳县| 大埔县| 中宁县| 上虞市| 南平市| 娱乐| 西盟| 武冈市| 荣昌县| 台前县| 汉川市| 北京市| 随州市| 宁国市| 察雅县| 仲巴县| 福建省| 广元市| 太仓市| 陕西省| 盈江县| 鹿泉市| 尼勒克县| 昌宁县|