pymssql 中文乱码_pycharm输出中文乱码

pymssql 中文乱码_pycharm输出中文乱码开门见山,先放解决问题的代码SELECTCONVERT(NVARCHAR,test_field)AStest_fieldFROMtest_tableWHEREtest_condition=’测试中文’–直接将中文字段test_field(VARCHAR)转化为NVARCHAR,其他类型同理,转换成N开头的类型接下来才是其他可能可行的解决方案:使用其他库,如pyodbc(详细信息请阅读相关文档),可参考:https://blog.csdn.net/zhaogeno1/art

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

开门见山,先放解决问题的代码

SELECT CONVERT(NVARCHAR, test_field) AS test_field FROM test_table
WHERE test_condition = '测试中文'
--直接将中文字段test_field(VARCHAR)转化为NVARCHAR,其他类型同理,转换成N开头的类型

Jetbrains全家桶1年46,售后保障稳定

接下来才是其他可能可行的解决方案:

如果sql语句里没有中文,可以直接用charset=‘cp936’:

#-*- coding:utf-8 -*-
import pymssql
conn = pymssql.connect("数据库地址:1433", "账号", "密码", "表名",charset='cp936')
# cursor = conn.cursor(as_dict=True) # as_dict=True 输出字典
cursor = conn.cursor()

''' 在sql_query本身没有中文的情况下,test_field这个字段 查出来是中文可以直接通过connect时的charset='cp936'直接解决中文乱码问题 '''

sql_query = "SELECT test_field FROM test_table"
cursor.execute(ls_sql)
# conn.commit() # 提交INSERT等变更

''' # conn.rollback() rollback和commit只是为了sql的同步提交或者回退, 比如sql_1, sql_2, sql_3这三者的同步,不至于sql_1, sql_2执行了,而sql_3报错,造成数据差 '''

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/223007.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号