我是靠谱客的博主 醉熏凉面,最近开发中收集的这篇文章主要介绍Python笔记005:MSSQL查询中文出现乱码解决办法,特别是第二种方法超有用问题描述原因分析:解决方法:,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
问题描述
我平时工作中,常会用Python做些小程序查询数据库,结果发现不同的表里面的中文不知道什么原因有些能显示出来,有些显示出来的是乱码。
将代码改成如下:
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编码的方式就能解决显示中文是出现乱码的现象。
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是字段名称
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查询中文出现乱码解决办法,特别是第二种方法超有用问题描述原因分析:解决方法:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复