在新项目中,重开新的虚拟环境安装了pymssql,在查询数据的时候,在设置了 charset=‘utf8’ 的前提下,有部分查询结果出现了中文乱码,有部分又没有,特别怪异。
pymssql.set_max_connections(1024)
self.conn = pymssql.connect(host="%s:%s" % (config["sql_server"]["ip"], config["sql_server"]["port"]),
user=config["sql_server"]["user"], password=config["sql_server"]["password"],
database=config["sql_server"]["database"], charset='utf8')
cursor = self.conn.cursor(as_dict=True)
if not cursor:
raise(NameError, "数据库连接失败!")
return cursor
参考其他博客,设置 charset=‘cp936’,中文乱码正常了,但是之前能正常显示的却变成乱码了。
但是之前的项目也是用的pymssql,也是对同一个数据库做查询操作,但是都没出现过这种怪异的现象。
一查两个项目的pymssql版本,老项目是2.1.3,新项目是2.1.5,噢no,难不成是版本问题?!
卸载2.1.5的版本,重新安装2.1.3的版本,问题就解决了。