幻幻的程序猿 2022-12-11 17:19 采纳率: 75%
浏览 76
已结题

pymssql连接SQL Server输出中文乱码

问题遇到的现象和发生背景

我用Python中pymssql库连接SQL Server,然后查询表,输出内容,对应的中文为啥编乱码了

遇到的现象和发生背景,请写出第一个错误信息

求职者编号:15011 ,求职者姓名:Ø¿¹¦ºÆ,求职者性别:ÄÐ,求职者电话:1536248201

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
import pymssql
connect=pymssql.connect(host='127.0.0.1:1433',user='sa',password='123456',database='Career',charset='utf8')
cursor=connect.cursor()
cursor.execute("""
SELECT *
FROM 求职者信息表
WHERE 求职者编号 LIKE '15011';
""")
row = cursor.fetchone()
while row:
    print("求职者编号:%s,求职者姓名:%s,求职者性别:%s,求职者电话:%s" % (row[0],row[1],row[2],row[3]))
    row = cursor.fetchone()
运行结果及详细报错内容

改了编码格式后,执行cursor.execute语句报错
(102, b"Incorrect syntax near '\xb0'.DB-Lib error message 20018, severity 15:\nGeneral SQL Server error: Check messages from the SQL Server\n")

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

目前我去找的大多方法都是改那个编码格式,GBK,GB18030等等,不过都不行,有的还报错。

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”
  • 写回答

3条回答 默认 最新

  • Jackyin0720 2022-12-11 19:37
    关注

    可以尝试用sql语句将varchar转为nvarchar类型
    示例:

    select convert(nvarchar(50),table_colum) as 'nvarchar_colum' from mytable where convert(nvarchar(50),table_colum) = '魏本明'
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月19日
  • 已采纳回答 12月11日
  • 赞助了问题酬金15元 12月11日
  • 创建了问题 12月11日

悬赏问题

  • ¥30 informer时间序列预测
  • ¥20 SSR引物多态性分析
  • ¥15 大漠插件在Win11易语言注册调用和免注册灵异事件,VS上注册调用完全没问题
  • ¥15 Addressable缓存机制做热更新的问题
  • ¥15 微信开发者工具vant组件
  • ¥15 iPhone iCloud云盘资料删除,MAC丢失50多G桌面资料
  • ¥20 希望各位学长可以给我答疑
  • ¥20 Linux实现: 客户端(cli01)通过TCP(或UDP)连接到聊天服务器(serv)进行聊天。
  • ¥15 (标签-matlab|关键词-m3)
  • ¥20 自制cifar10数据集,生成的batch缺少key:b