python中文输出乱码问题困扰了多少初学者,我在这方面栽了不知道多少跟头。现在我把我碰到的问题和解决的方法写出来与大家分享一下:
1输出乱码
所谓的乱码是指“鎴戞槸涓枃瀛楃涓”这样的内容。为什么会输出这样的结果呢?因为python的输入和输入讲究“出入不一致”的原则。所谓“出入不一致”指的什么样的编码进来但和不一定以该编码输出。为什么呢?因为python 的IDE是只支持unicode输出的,如果我们从文件中open的数据是utf-8或者ascii,输出的时候却以Unicode输出,结果当然会是乱码了。那么怎么解决呢?
(1)我们做文本分析的时候一般文本文件以utf8编码,所以首先将读入的文本文件编码方式设置成utf8,这一步一定要改,否则怎么改代码都没效果;
(2)在python头部分先加入:
# -*- coding: utf-8 -*-
(3)然后在文件头加入以下三句话:
import(sys)
reload(sys)
sys.setdefaultencoding('utf-8')
这个setdefaultencoding是在系统启动的时候就设置了,就是你在控制台下输入python出现>>> 的时候系统会自动的读取一个文件,所以当你在使用中的python时就必须重新reload,
然后,输入就可以成功了。
2输出utf8编码
输出utf8编码这个问题我还没有解决透,目前的办法是导入到txt文件中。。。
3输出列表乱码
如果列表显示乱码,则把列表内容逐一读出来连成字符串就可以了:、
#print '['+','.join(name)+']'