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

前一段时间,我使用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的数据库的中文数据时就会出现正常的中文了。

你可能感兴趣的:(python,Server,SQL,Server,python,乱码,数据库)