python中文字符编码问题
2019-04-13 本文已影响0人
ThinkingCoding
问题来源
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("你好");