欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何處理Python3.4 使用pymssql 亂碼問題

 更新時間:2016年01月08日 15:11:48   作者:firecrow  
這篇文章主要介紹了如何處理Python3.4 使用pymssql 亂碼問題的相關(guān)資料,涉及到python pymssql相關(guān)知識,對此感興趣的朋友一起學(xué)習(xí)吧

在項目中發(fā)現(xiàn)這樣一個問題:sqlserver數(shù)據(jù)庫編碼為gbk,使用python3.4+pymssql 查詢,中文亂碼,經(jīng)過一番思考問題解決,下面把解決辦法分享給大家:

conn = pymssql.connect(host="192.168.122.141", 
port=1433, 
user="myshop", 
password="oyf20140208HH", 
database="mySHOPCMStock", 
charset='utf8', 
as_dict=True) cur = conn.cursor()sql = "select top 10 [ID],[Name] from [User]"cur.execute(sql)list = cur.fetchall()for row in list: print(row["ID"],row["Name"].encode('latin-1').decode('gbk'))

接下來給大家介紹python 使用pymssql連接sql server數(shù)據(jù)庫

#coding=utf-8 
#!/usr/bin/env python
#-------------------------------------------------------------------------------
# Name: pymssqlTest.py
# Purpose: 測試 pymssql庫,該庫到這里下載:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql
#
# Author: scott
#
# Created: 04/02/2012
#-------------------------------------------------------------------------------
import pymssql
class MSSQL:
"""
對pymssql的簡單封裝
pymssql庫,該庫到這里下載:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql
使用該庫時,需要在Sql Server Configuration Manager里面將TCP/IP協(xié)議開啟
用法:
"""
def __init__(self,host,user,pwd,db):
self.host = host
self.user = user
self.pwd = pwd
self.db = db
def __GetConnect(self):
"""
得到連接信息
返回: conn.cursor()
"""
if not self.db:
raise(NameError,"沒有設(shè)置數(shù)據(jù)庫信息")
self.conn = pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")
cur = self.conn.cursor()
if not cur:
raise(NameError,"連接數(shù)據(jù)庫失敗")
else:
return cur
def ExecQuery(self,sql):
"""
執(zhí)行查詢語句
返回的是一個包含tuple的list,list的元素是記錄行,tuple的元素是每行記錄的字段
調(diào)用示例:
ms = MSSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics")
resList = ms.ExecQuery("SELECT id,NickName FROM WeiBoUser")
for (id,NickName) in resList:
print str(id),NickName
"""
cur = self.__GetConnect()
cur.execute(sql)
resList = cur.fetchall()
#查詢完畢后必須關(guān)閉連接
self.conn.close()
return resList
def ExecNonQuery(self,sql):
"""
執(zhí)行非查詢語句
調(diào)用示例:
cur = self.__GetConnect()
cur.execute(sql)
self.conn.commit()
self.conn.close()
"""
cur = self.__GetConnect()
cur.execute(sql)
self.conn.commit()
self.conn.close()
def main():
## ms = MSSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics")
## #返回的是一個包含tuple的list,list的元素是記錄行,tuple的元素是每行記錄的字段
## ms.ExecNonQuery("insert into WeiBoUser values('2','3')")
ms = MSSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics")
resList = ms.ExecQuery("SELECT id,weibocontent FROM WeiBo")
for (id,weibocontent) in resList:
print str(weibocontent).decode("utf8")
if __name__ == '__main__':
main()

腳本之家提醒大家需要注意事項:

使用pymssql進行中文操作時候可能會出現(xiàn)中文亂碼,我解決的方案是:

文件頭加上 #coding=utf8

sql語句中有中文的時候進行encode

insertSql = "insert into WeiBo([UserId],[WeiBoContent],[PublishDate]) values(1,'測試','2012/2/1')".encode("utf8")

連接的時候加入charset設(shè)置信息

pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")

相關(guān)文章

  • 利用Python的PyPDF2庫提取pdf中的圖片

    利用Python的PyPDF2庫提取pdf中的圖片

    本篇給大家分享一下通過Python的PyPDF2庫提取pdf中的圖片方法,文中有詳細(xì)的代碼示例和流程步驟,感興趣的同學(xué)可以閱讀一下
    2023-05-05
  • flask中使用藍圖將路由分開寫在不同文件實例解析

    flask中使用藍圖將路由分開寫在不同文件實例解析

    這篇文章主要介紹了flask中使用藍圖將路由分開寫在不同文件實例解析,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Tornado Web Server框架編寫簡易Python服務(wù)器

    Tornado Web Server框架編寫簡易Python服務(wù)器

    這篇文章主要為大家詳細(xì)介紹了Tornado Web Server框架編寫簡易Python服務(wù)器,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • python源文件的字符編碼知識點詳解

    python源文件的字符編碼知識點詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于python源文件的字符編碼知識點詳解,有興趣的朋友們可以學(xué)習(xí)下。
    2021-03-03
  • Python求凸包及多邊形面積教程

    Python求凸包及多邊形面積教程

    這篇文章主要介紹了Python求凸包及多邊形面積教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python教程按照字典的鍵或值進行排序方法解析

    Python教程按照字典的鍵或值進行排序方法解析

    這篇文章主要介紹了Python教程按照字典的鍵或值進行排序方法解析,有需要的朋友可以借鑒參考下,希望可以有所幫助,祝大家多多進步,早日升職加薪
    2021-09-09
  • python 為什么說eval要慎用

    python 為什么說eval要慎用

    這篇文章主要介紹了python 為什么說eval要慎用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • TensorFlow索引與切片的實現(xiàn)方法

    TensorFlow索引與切片的實現(xiàn)方法

    這篇文章主要介紹了TensorFlow索引與切片的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 基于python實現(xiàn)銀行管理系統(tǒng)

    基于python實現(xiàn)銀行管理系統(tǒng)

    這篇文章主要介紹了基于python實現(xiàn)銀行管理系統(tǒng),文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python項目制作的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-04-04
  • python 列表元素左右循環(huán)移動 的多種解決方案

    python 列表元素左右循環(huán)移動 的多種解決方案

    這篇文章主要介紹了python 列表元素左右循環(huán)移動 的多種解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評論