python笔记009:又遇SQL查询中文乱码或不显示解决2

 最近在给单位做数据库查询小工具,发现查询MSSQL数据库表时候,又出现了新的状况,同一张表里面,不同字段的中文,有些能显示乱码,有些还不能显示,如下:

charset='GBK'时候,函数定义如下

  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='GBK')
    cur=self.connect.cursor()
    #print(cur)
    if not cur:
      raise(NameError,'数据库访问失败')
    else:
      return cur
    resList4 = "select top 10 XM,* from hsjg where cbarcode='"+str4+"'"
    ms = MSSQL(host=hostH , user=userH, pwd=pwdH, db=dbH)
    resList1 = ms.ExecQuery(resList4)

 发现有字段的中文不能显示

 是这个将charset='utf8'

  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')
    cur=self.connect.cursor()
    #print(cur)
    if not cur:
      raise(NameError,'数据库访问失败')
    else:
      return cur

 结果,前面的字段中文能显示了,但是后面的中文字段显示乱码了

 难道么有办法同事都显示中文吗,必须有:

charset='utf8'  不变的情况下。用convert(nvarchar(2),jcjg)来实现中文字段的显示

resList4 = "select top 10 convert(nvarchar(6),XM),ZJHM,cbarcode,convert(nvarchar(2),jcjg),scsj  from hsj where cbarcode='"+str4+"'"

 结果中文字段全部显示出来!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值