python连接数据库查询出现乱码解决方案

本文介绍了解决使用Python连接SQLServer数据库时出现GBK编码中文乱码的方法。提供了三种解决方案:更改数据库编码为UTF-8;使用nvarchar类型转换字段;降低pymssql版本至2.1.4并更新PyHamcrest包。
Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

前一段时间,我使用python连接sql server数据库来完成在数据库的查询工作,数据库的编码使用的是GBK编码,在查询的时候,查询出的结果出现了乱码,有三种解决方案可以解决。

1.可以通过将数据的的编码方式改为UTF-8解决这个问题。

2.可以在查询的时候将SQL语句的字段转换为nvarchar类型,如:

select cid,convert(nvarchar(20),cname) from ctable

3.但是对于公司的数据库不能轻易更改数据库的编码,对于复杂的SQL语句我们进行类型转换会降低SQL的运行效率,所以我们可以通过降低pymssql版本和更新PyHamcrest包的方式解决这个问题,具体如下:

我使用的是pymssql2.1.5版本,首先我们需要将pymssql的版本降到2.1.4版本,亲测2.1.4版本的好用

python -m pip install --user --upgrade pymssql==2.1.4

在降pymssql的时候会出现需要安装PyHamcrest的提示

接下来更新一下PyHamcrest包

pip install --upgrade PyHamcrest

然后在更新一下pymssql包

python -m pip install --user --upgrade pymssql==2.1.4

版本降成功后我们再通过pymssql查询编码为gbk的数据库的中文数据时就会出现正常的中文了。

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值