美文网首页
python读取SQL server varchar格式中文乱码

python读取SQL server varchar格式中文乱码

作者: 逍遥_yjz | 来源:发表于2021-05-27 15:26 被阅读0次

    用python写个报表抓取程序,无奈数据库里面的中文字段用的varchar格式,打印到控制台乱码,专门查了一下资料,找到3个解决方案,都切实可行,如下:

    1.将数据库里面的字段格式改为nvarchar,可以立即解决问题,但是可能会导致跑在上面的其他系统出问题,所以还有下面第二种方法

    2.在编写sql语句的时候,直接重新编码,例如:

    SELECT sno,sname  FROM  student
    修改为下面的代码
    
    SELECT CONVERT(nvarchar(100), sno) sno,CONVERT(nvarchar(100), sname) sname FROM  student
    

    此方法直接修改字段的格式为nvarchar,可以直接解决问题

    3.在Python程序里面将读出来的每个字段重新编码

    sname= sname.encode('latin-1').decode('gbk')
    

    重新编码后,就可以正常显示中文了

    相关文章

      网友评论

          本文标题:python读取SQL server varchar格式中文乱码

          本文链接:https://www.haomeiwen.com/subject/ovfdsltx.html