python汉字输出编码问题

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)+']'

posted @ 2015-07-26 14:24  YasselBing  阅读(1808)  评论(0编辑  收藏  举报