关于python无法显示中文的问题:SyntaxError: Non-ASCII character

简介:

想在python代码中输出汉字。但是老是出现SyntaxError: Non-ASCII character '\xe4' in file test.py on line , but no encoding declared。 (test.py是我自己的文件,提示错误出现在第4行, 你的文件也会得到相应的提示)。 一个简单的示例test.py代码如下:

1
2
3
1  #!/usr/bin/python
2 
3  print  "你好吗"

  在终端下执行python test.py指令之后,

1
2
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
2
3
#!/usr/bin/python
#coding:utf-8
print  "你好吗"

  第二种:

1
2
3
#!/usr/bin/python
#-*-coding:utf-8 -*-
print  "你好吗"

  第三种:

1
2
3
#!/usr/bin/python
#vim: set fileencoding:utf-8
print  "你好吗"

  ***特别注意:定义编码格式的这一行代码必须放在第一行或者第二行, 一般如果第一行是提示python位置的代码, 那么定义编码格式的这一行就必须放在第二行,否则依然会提示错误。




      本文转自灬落魄灬  51CTO博客,原文链接:http://blog.51cto.com/smoke520/1911242,如需转载请自行联系原作者




目录
打赏
0
0
0
0
347
分享
相关文章
【Python】已完美解决:SyntaxError: Non-UTF-8 code starting with ‘æ‘ in file E:/Python/3.py on line 4, but no
【Python】已完美解决:SyntaxError: Non-UTF-8 code starting with ‘æ‘ in file E:/Python/3.py on line 4, but no
218 0
|
6月前
|
[oeasy]python035_根据序号得到字符_chr函数_字符_character_
本文介绍了Python中的`ord()`和`chr()`函数。`ord()`函数通过字符找到对应的序号,而`chr()`函数则根据序号找到对应的字符。两者互为逆运算,可以相互转换。文章还探讨了单双引号在字符串中的作用,并解释了中文字符和emoji也有对应的序号。最后总结了`ord()`和`chr()`函数的特点,并提供了学习资源链接。
56 4
python语法错误(SyntaxError)
【7月更文挑战第12天】
404 10
python -m pip ,SyntaxError: invalid syntax,下载需要pip的包
python -m pip ,SyntaxError: invalid syntax,下载需要pip的包
【Python】已解决:UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\u0157’ in position 1: illegal m
【Python】已解决:UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\u0157’ in position 1: illegal m
228 1
|
8月前
|
【Python】已解决:(Python最新xlrd库读取xlsx报错)SyntaxError: invalid syntax
【Python】已解决:(Python最新xlrd库读取xlsx报错)SyntaxError: invalid syntax
226 0
|
8月前
|
【Python】已解决:SyntaxError: expression cannot contain assignment, perhaps you meant “==“?
【Python】已解决:SyntaxError: expression cannot contain assignment, perhaps you meant “==“?
191 0
【Python】已解决:SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: t
【Python】已解决:SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: t
1071 0
【Python】已解决:UnicodeEncodeError: ‘utf-8’ codec can’t encode character ‘\udf76’ in position 32: surrog
【Python】已解决:UnicodeEncodeError: ‘utf-8’ codec can’t encode character ‘\udf76’ in position 32: surrog
90 0
|
8月前
|
【Python】已解决:SyntaxError: positional argument follows keyword argument
【Python】已解决:SyntaxError: positional argument follows keyword argument
323 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等