如何让Python无需转UTF-8即可直接运行ANSI编码的脚本文件?
报错说明
SyntaxError: Non-UTF-8 code starting with '\xf3'
该报错为Python脚本运行时的常见编码错误,触发原因是脚本本身为ANSI编码,但Python默认以UTF-8编码读取脚本源码,且你无法编辑脚本添加编码声明头。
无需修改脚本的运行方案
- 运行时指定Python关闭UTF-8模式:
Windows CMD环境执行:set PYTHONUTF8=0 && python 你的脚本名称.py
Windows PowerShell环境执行:$env:PYTHONUTF8=0; python 你的脚本名称.py
Linux/macOS终端环境执行:PYTHONIOENCODING=cp1252 python 你的脚本名称.py
如果你使用的是中文区域的ANSI编码,把上述命令中的cp1252替换为gbk即可。 - 临时修改终端编码后运行:
Windows环境打开CMD后先执行编码切换命令,再运行脚本:
英文区域ANSI执行chcp 1252
中文简体区域ANSI执行chcp 936 - Python 3.10及以上版本可直接用启动参数控制:
python -X utf8=0 你的脚本名称.py
修改系统默认编码为ANSI的方案
仅适用于Windows系统,ANSI本身是Windows下的区域相关编码:
- 打开控制面板,进入「时钟和区域」-「区域」
- 切换到「管理」标签页,点击「更改系统区域设置」
- 取消勾选「Beta版:使用Unicode UTF-8提供全球语言支持」,选择你对应的目标区域(对应不同的ANSI编码规则)
- 重启电脑后生效
注意:修改系统默认编码可能导致其他使用UTF-8编码的程序出现乱码,非必要不推荐该方案,优先选择运行时临时指定编码的方式。
内容的提问来源于stack exchange,提问作者Debo Baby
相关产品推荐
相关产品推荐

