想在python代码中输出汉字。但是老是出现SyntaxError: Non-ASCII character '\xe4' in file test.py on line , but no encoding declared。 (test.py是我自己的文件,提示错误出现在第4行, 你的文件也会得到相应的提示)。 一个简单的示例test.py代码如下:
1 #!/usr/bin/python
2
3 print "你好吗"
在终端下执行python test.py指令之后,
File "test.py", line 3
SyntaxError: Non-ASCII character '\xe4' in file test.py on line 3, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
这是python编码的问题, python中默认的编码格式是ASCII格式, 所以在没修改编码格式时无法正确打印汉字。
解决办法: 在以后的每一个需要显示汉字的python文件中, 可以采用如下方法在 #!/usr/bin/python的下一行加上一句话来定义编码格式, 我以utf-8编码为例。
第一种:
1 #!/usr/bin/python
2 #coding:utf-8
3 print "你好吗"
第二种:
1 #!/usr/bin/python
2 #-*-coding:utf-8 -*-
3 print "你好吗"
第三种:
1 #!/usr/bin/python
2 #vim: set fileencoding:utf-8
3 print "你好吗"
***特别注意:定义编码格式的这一行代码必须放在第一行或者第二行, 一般如果第一行是提示python位置的代码, 那么定义编码格式的这一行就必须放在第二行,否则依然会提示错误。
想了解多细节请阅读:http://www.python.org/dev/peps/pep-0263/