python連線資料庫查詢出現亂碼解決方案

2021-10-10 09:15:56 字數 855 閱讀 7350

前一段時間,我使用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 連線資料庫

原文 原文1 安裝mysql python pip install mysql python dome1 def db mange db bank conn none try 開啟資料庫連線 conn mysqldb.connect localhost root 123456 db bank 獲取操...

Python連線資料庫

usr bin env python coding utf 8 import sys reload sys sys.setdefaultencoding utf 8 import pymysql import pymysql.cursors usr bin env python coding utf...

python連線資料庫

1 安裝mysql ubantu下安裝不撰述 2 安裝python版本的mysql開發包 sudo apt get install python mysqldb3 編寫python usr bin python coding utf 8 import mysqldb 引入mysqldb包 開啟資料庫...