解决Python中文编码问题:如何正确输出中文字符
在上一章中,我们学习了如何使用Python输出“Hello, World!”。英文没有问题,但是如果输出汉字“Hello, World”,可能会遇到中文编码问题。

如果Python文件中没有指定编码,执行时会出现错误:
#!/usr/bin/pythonprint "你好,世界";
上述程序执行的输出结果为:
File "test.py", line 2SyntaxError: Non-ASCII character '\xe4' in file test.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
Python中默认的编码格式是ASCII格式。不修改编码格式就无法正确打印汉字,所以读取中文时会报错。
解决方案是在文件开头添加 # -*-coding: UTF-8 -*- 或 #coding=utf-8 。
注意:#coding=utf-8 中= 号两边不能有空格。
示例(Python 2.0+)
#!/usr/bin/python# -*- 编码:UTF-8 -*-print"Hello, world";
运行实例 »
输出是:
你好,世界
所以如果你正在学习并且代码中包含中文,那么你需要在header中指定编码。
注意:Python3.X源代码文件默认使用UTF-8编码,因此无需指定UTF-8编码也能正常解析中文。
注意:如果使用编辑器,还需要将py文件存储格式设置为UTF-8,否则会出现类似如下的错误信息:
SyntaxError: (unicode error) ‘utf-8’ codec can’t decode byte 0xc4 in position 0:invalid continuation byte
Pycharm设置步骤:
« 上一篇
程序员接活必读:新手接活前需知的4个关键要点
下一篇 »
C文件C文件操作 (c 文件)