程序中出现中文,运行的时候出现如下错误:
SyntaxError: Non-UTF-8 code starting with '\xc6' in file F:\UsualTasks\PythonPro\test_code.py on line 22, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
翻译一下:
语法错误:第 22 行文件 F:\UsualTasks\PythonPro\test_code.py 中以 '\xc6' 开头的非 UTF-8 代码,但未声明编码; 有关详细信息,请参阅 http://python.org/dev/peps/pep-0263/
意思是“让声明编码,若不懂,去参阅”。听人劝,吃饱饭,我们就去瞧瞧,看看。
首先查看一下文件的编码格式,如下图。发现这个项目的编码方式是GBK,确实不是UTF-8
那改一下Project Encoding试试,看看能不能行。
然而,并不可行,大大的红色
但是,经过一波小探索,我发现在修改Project Encoding之前将代码Ctrl+C复制下来,然后在重新粘贴,就可以解决这个问题。
那再去看看要参阅的文档,看看更多的details。
查看python3.9.6的官方文档,发现python默认的编码已经是UTF-8
经过测试发现,在文件的第一行写下特殊注释:
# -*- coding: GBK -*-
# -*- coding: UTF-8 -*-
# coding=gbk
上面三个特殊注释,任意一个添加到代码的第一行都能将问题解决,无需在setting中修改Project Encoding