由于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
Python 3.8升级pymssql后乱码解决法
2436





