明凯博客

关注网站技术,一个特立独行的程序员

python中文字符编码ot in range(128)问题的解决办法

我们都知道python中中文支持支持需要在顶部编写# -*- coding: utf-8 -*-,
这样,注释有中文也不会报错。
但是加了这个只是代表程序运行不出错,但是你加入print 中文的时候还是会报错编码问题。
下面我们来一一讲解一下。

1
2
print 1 + 2
print "我爱明凯博客"

20170928100026
程序报错

SyntaxError: Non-ASCII character ‘\xe6’ in file test.py on line 5, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

我们加上# -*- coding: utf-8 -*-后
20170928100701
程序报错

UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-5: ordinal not in range(128)

然后我们可以用

1
2
3
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

或者

1
.encode('utf-8')

来解决中文乱码问题。

, ,

相关文章

1 条评论 “python中文字符编码ot in range(128)问题的解决办法

发表评论

电子邮件地址不会被公开。 必填项已用*标注