python3数据库sqlserver连接乱码_转:Python连接Sqlserver数据库(解决中文乱码版)...

#! /usr/bin/env python

#最近折腾MS SQLSERVER ,被中文乱码搞的头大,最后从这个博客中看到解决方法:在建立连接时加入:......,charset='utf-8'

#

#coding=utf8

"""

Author: Wenlicheng

Date:

Description:Python连接sqlserver数据库,解决中文乱码问题

"""

import pymssql

import sys

import os

reload(sys)

sys.setdefaultencoding('utf-8')

os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'

class MSSQL:

"""

对pymssql的简单封装

使用该库时,需要在Sql Server configuration Mnanage里面讲TCP/IP协议开启

"""

def __init__(self,host,port,user,pwd,db):

self.host = host

self.user = user

self.port = port

self.pwd = pwd

self.db = db

def __GetConnect(self):

"""

得到连接信息

conn.cursor()

:return:

"""

if not self.db:

raise (NameError, "没有设置数据库信息")

self.conn = pymssql.connect(host=self.host, port=self.port, user=self.user, password=self.pwd,

database=self.db, charset='utf8')

cur = self.conn.cursor()

if not cur:

raise(NameError, "连接数据库失败")

else:

return cur

def ExecQuery(self, sql):

"""

执行查询语句

返回的是一个包含Tuple的list,list的元素是记录行,tuple的元素是每行记录的字段

:param sql:

:return:

"""

cur = self.__GetConnect()

cur.execute(sql)

resList = cur.fetchall()

#查询完毕后必须关闭连接

self.conn.close()

return resList

def ExecNonQuery(self,sql):

"""

执行非查询语句

:param sql:

:return:

"""

cur = self.__GetConnect()

cur.execute(sql)

self.conn.commit()

self.conn.close()

def main():

ms = MSSQL(host='192.1.1.1', port=1234, user='sa', pwd='123456', db='LearnDB')

resList = ms.ExecQuery("""select LastName,Address from person""")

for (LastName,Address) in resList:

print str(Address)

if __name__ == "__main__":

main()

转自:Python连接Sqlserver数据库(解决中文乱码版) - LeechengLove的博客 - CSDN博客

https://blog.csdn.net/LeechengLove/article/details/81036295

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值