python中文字符编码问题

问题来源

pyton脚本中若含有中文,则容易产生问题。

  • python2
    比如脚本:
 #! /usr/bin/env python
print("你好");

则报错:

SyntaxError: Non-ASCII character '\xe4' in file ./chinese_code.py on line 3, but no encoding declared;
 see http://python.org/dev/peps/pep-0263/ for details
  • python3
    若解析器改用python3则不存在上面错误

  • 原因:
    python2中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。
    python3.X 源码文件默认使用utf-8编码,所以可以正常解析中文,无需指定 UTF-8 编码。

问题解决

在文件开头加入# -*- coding: UTF-8 -*- 或者 #coding=utf-8就行了,推荐后者,写法更简洁,但是要注意 #coding=utf-8 的 = 号两边不要空格。

#! /usr/bin/env python
#coding=utf-8

print("你好");
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容