我是靠谱客的博主 醉熏凉面,最近开发中收集的这篇文章主要介绍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查询中文出现乱码解决办法,特别是第二种方法超有用问题描述原因分析:解决方法:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部