在使用pymssql操作sqlserver数据库时,碰到了中文乱码的问题,之前从网上查了很多,又是python编码,又是数据库编码什么的,非常乱,试了很多,好多都解决不了问题。
数据库是sqlserver,先说我碰到的问题:
- 数据库的配置charset='utf8’时,查出来中文是乱码
pymssql.connect(server, user, password, database, charset='utf8')
2. 查询的数据库配置设置为charset='GBK’时,查出来中文不乱码,但是往数据库存入中文时是乱码
pymssql.connect(server, user, password, database, charset='GBK')
解决方法:
- 数据库配置,charset设置为utf8
pymssql.connect(server, user, password, database, charset='utf8')
- 查出来的结果集里,出现中文的地方使用
print(contents.encode(‘latin-1’).decode(‘gbk’))
可以解决中文的乱码问题,这样在存入中文时也没有问题