SyntaxError: Non-ASCII character 解决方法

1  错误原因分析

在 Python 中遇到 SyntaxError: Non-ASCII character 错误,通常是因为代码中包含了 ​非 ASCII 字符​(如中文、特殊符号等),但文件未声明正确的编码格式。

问题原因解决方法
文件包含中文/特殊符号在文件开头添加 # coding: utf-8
文件实际编码非 UTF-8用编辑器将文件另存为 UTF-8 格式
Python 2 默认不支持 UTF-8升级到 Python 3 或显式声明编码

2  解决方法

2.1  添加文件编码声明

在 Python 文件 ​开头​(第一行或第二行)添加编码声明,指定文件使用 UTF-8 编码:

# -*- coding: utf-8 -*-

或可以简写为:

# coding: utf-8
示例:
# -*- coding: utf-8 -*-
print("你好,世界!")  # 现在可以正常使用中文

2.2  确保文件实际编码为 UTF-8

  • 检查编辑器设置:确保代码编辑器保存文件时使用 ​UTF-8 编码​(无 BOM)。
    • VS Code:右下角点击编码 → 选择 "UTF-8"。
    • Notepad++:编码 → UTF-8(无 BOM)。
    • PyCharm:检查自己所使用的python解释器是否是python2
  • 避免混合编码:文件中的所有字符(包括注释)需统一为 UTF-8。

2.3  Python 3 的默认编码

  • Python 3 默认使用 UTF-8 编码,通常无需显式声明。
    • 但如果文件被其他工具修改过(如 Windows 记事本),仍可能触发此错误。

3  常见错误场景

3.1  ​未声明编码时直接使用中文

print("你好")  # SyntaxError: Non-ASCII character

3.2  ​文件编码声明位置错误

x = 1
# -*- coding: utf-8 -*-  # 声明必须在前两行!
print("你好")

如果您觉得本文章对您有帮助,别忘了点赞、收藏加关注,更多干货内容将持续发布,您的支持就是作者更新最大的动力。本专栏将持续更新,有任何问题都可以在评论区讨论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

满怀1015

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值