源文件里出现中文,报的常常是「文件声明是 UTF-8,磁盘上却不是」。
Python 3 源码默认按 UTF-8 读。文件头写不写都可以:
python
# -*- coding: utf-8 -*-或更短的 # coding: utf-8。这是给解释器看的编码声明,Python 2 时代更常见。现在缺它通常不是主因。
真正常见的是:编辑器把文件存成了系统本地编码(Windows 上经常是 GBK),解释器仍按 UTF-8 去解,于是:
text
SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xc4 in position 0:
invalid continuation byte在 PyCharm:Settings → 搜 encoding → Editor > File Encodings,把 IDE / Project / Properties Files 都设成 UTF-8。VS Code 右下角点编码,选 “Save with Encoding” → UTF-8。
声明、磁盘编码、终端输出编码是三件事。源文件 UTF-8 了,print 到 GBK 控制台仍可能看起来乱,那是控制台的问题,不是这一份 .py 没声明。