You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio 2022运行含特殊字符的Python代码报错如何解决

问题原因

该错误是Python源文件保存编码与Python 3默认的源文件读取编码(UTF-8)不匹配导致的。
从错误信息中的乱码片段V�etko dobr� +��蝞以及报错提示'utf-8' codec can't decode byte 0x9a in position 1: invalid start byte可以确认:Visual Studio 2022将你的代码文件保存为了Windows本地ANSI编码(对应你所在区域的系统代码页,比如中欧地区默认是Windows-1250),Python按照默认规则用UTF-8解析文件时,遇到不符合UTF-8规则的字节序列,直接抛出语法错误。该问题和代码逻辑本身无关,哪怕是单条print语句只要包含非ASCII字符就会触发。

修复方案

按优先级推荐以下解决方法:

方案1:修复当前出错文件的编码(最快解决当前问题)

  • 打开报错的.py文件,点击顶部菜单栏「文件」→ 选择「将[你的文件名]另存为」
  • 在弹出的保存窗口中,点击「保存」按钮右侧的下拉小箭头,选择「高级保存选项」
  • 在编码下拉菜单中选择 Unicode (UTF-8 带签名) - 代码页 65001,注意不要选成UTF-16编码,Python默认无法识别UTF-16格式的源文件,会触发其他报错。点击确认后覆盖保存原文件
  • 重新运行代码即可正常执行,特殊字符不会再触发解码错误

方案2:修改VS2022默认编码,一劳永逸避免同类问题

  • 点击顶部菜单栏「工具」→「选项」
  • 在弹出的设置窗口左侧展开「环境」分类,选择「文档」
  • 勾选选项「当数据无法在代码页中保存时,将文档保存为Unicode」,点击确定后重启Visual Studio 2022
  • 后续新建、编辑的所有Python文件都会默认以UTF-8编码保存,不管写入什么语言的特殊字符都不会再触发这类编码报错

方案3:临时兼容方案(不推荐长期使用)

如果你暂时不想调整文件保存编码,可以在Python文件的最顶部第一行添加编码声明,指定和你本地系统匹配的代码页,比如中欧Windows系统默认的cp1250编码:

# -*- coding: cp1250 -*-
print("Všetko dobré ľščťž")

注意:该方案仅能在你本地当前系统环境下生效,如果把代码拷贝到其他地区、其他编码设置的设备上运行,依然会出现同样的解码错误,属于临时兼容手段,优先使用前两种方案将文件统一保存为UTF-8才是Python开发的标准实践。


内容的提问来源于stack exchange,提问作者SomeGuy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 15:18:13