python3.X默认编码格式为UTF-8编码,因此对于汉字字符是可以自动识别的。但对于含有汉字字符的下列代码分别用纯txt文本、Geany编辑器、pycharm三种不同的方式编译执行时,唯独只有在pycharm中可以正确运行,其他两种均报错:
SyntaxError: Non-UTF-8 code starting with ‘\\xb1‘ in file demo.txt on line 1, but
no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
name1 = "北京" name2 = name1 print(name1,name2) name1 = "南京" print(name1,name2)
造成上述错误的原因是用纯txt文本和Geany编辑器编写的python程序的编码格式默认是ASCII和gbk,python3.x默认的编码格式是UTF-8,两者不一致。而pycharm中默认编码格式就是UTF-8格式。如下图将txt纯文本另存为UTF-8编码格式后,再执行程序就正常了。
如下图对于Geany编辑器首选项中默认缺省文件格式为gbk编码格式,将其修改为UTF-8格式后,即可正确执行该代码。