pymssql查询sql server中文乱码处理简便方法2024最新

由于python升级到3.8,原来pymssql=2.1.4不支持该版本安装,只能进行升级,然而升级后却出现了乱码的情况,网上找了各种方法,但是都没解决,最后找到一种比较简便的方法,就是将乱码字符值直接进行显式转换:

1、假如读取的是元组,则采用如下代码:

cursor= conn.cursor()
cursor.execute(query_sql)
rs = cursor.fetchall()
result=[]
for row in rs:
    e=[str(item).encode('latin').decode('GBK')   if  item is not None  else item  for item in row ]
    k=tuple(e)
    result.append(k)
    # print(str(row[2]).encode('latin').decode('GBK'))
    # result.append(row)
print(result)
return  result

2、假如读取的是字典类型的json

cursor= conn.cursor(as_dict=True)
cursor.execute(query_sql)
rows= cursor.fetchall()
result=[]
for row in rows:
    result=[{key:value.encode('latin').decode('GBK') if isinstance(value,str)  and  value else value for key,value in item.items() } for item in rows]
return result
   
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值