pymssql查询结果中文乱码处理

问题1:sql语句打印出来在数据库能查到数据,但在pymssql查不出来
问题2:能查出来呢!却又是这样的乱码:2019´¨0106Ãñ³õ4846Ô­¸æ:°×ÁÖ¡¢±»¸æ:LUSHA ZHANG

 

导致乱码的原因

sql语句sql语句里写得太复杂。比如:有使用多表联查,字段拼接

 

解决方案

乱码的地方加上.encode(‘latin1’).decode(‘gbk’),先编码成SQL server支持的编码格式,再解码成中文。

 

 

正确的姿势

cursor = connect.cursor()  # 创建一个游标对象,python里的sql语句都要通过cursor来执行
    cursor.execute(my_sql)  # 执行sql语句
    # print(cursor.fetchall())
    for item in iter(cursor.fetchall()):
        print(item[1].encode('latin1').decode('gbk'))

 

posted @ 2020-11-24 14:18  子非鱼且于  阅读(2527)  评论(0编辑  收藏  举报
Live2D