我是靠谱客的博主 醉熏凉面,这篇文章主要介绍Python笔记005:MSSQL查询中文出现乱码解决办法,特别是第二种方法超有用问题描述原因分析:解决方法:,现在分享给大家,希望可以做个参考。

问题描述

我平时工作中,常会用Python做些小程序查询数据库,结果发现不同的表里面的中文不知道什么原因有些能显示出来,有些显示出来的是乱码。

 将代码改成如下:

复制代码
1
2
3
4
5
6
7
def GetConnect(self): #print(self.db) if not self.db: raise(NameError,'没有目标数据库') self.connect=pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset='utf8')

原因分析:

查了相关资料MSSQL表里面中文一般采用GBK编码。但有些时候使用GBK编码也不起作用


解决方法:

提示:我们可以采用2种方案解决:在第一种方法不能解决的情况下,使用第二种解决方法。

第一种方法:一般来讲,将编码方式改成GBK编码的方式就能解决显示中文是出现乱码的现象。

复制代码
1
2
3
4
5
6
def GetConnect(self): if not self.db: raise(NameError,'没有目标数据库') self.connect=pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset='GBK') cur=self.connect.cursor()

但是如果使用第一种解决方案中文出现乱码,则使用第二种终极解决方法。

第二种方法:将需要显示的中文字段加上convert(nvarchar(20),name),其中name是字段名称

复制代码
1
2
resList0 = "select top 1 convert(nvarchar(20),name) from mz_jl where rq>='"+ti1+"'and rq<='"+ti2+"' and bh="+str

运行结果如下,问题解决!

最后

以上就是醉熏凉面最近收集整理的关于Python笔记005:MSSQL查询中文出现乱码解决办法,特别是第二种方法超有用问题描述原因分析:解决方法:的全部内容,更多相关Python笔记005:MSSQL查询中文出现乱码解决办法内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部