我是靠谱客的博主 悲凉小猫咪,最近开发中收集的这篇文章主要介绍python读取SQL server varchar格式中文乱码的三种处理方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

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

2.在编写sql语句的时候,直接重新编码,用CONVERT(nvarchar(100),invdetail.transname) transname,例如:

select city_name from city_table,修改为下面的代码

select CONVERT(nvarchar(100), city_name)  city_name from city_table

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

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

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

重新编码后,就可以正常显示中文了,以上三个方法我都试验,确实可行,依据实际需求选用即可

最后

以上就是悲凉小猫咪为你收集整理的python读取SQL server varchar格式中文乱码的三种处理方法的全部内容,希望文章能够帮你解决python读取SQL server varchar格式中文乱码的三种处理方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部