大家好,又见面了,我是你们的朋友全栈君。
pycharm打印中文出现乱码,有几种情况
第一种:
对于这种情况,是普通的一种,你需要检查开头,是否加了
代码语言:javascript复制# -*- coding:utf-8 -*-
还有
代码语言:javascript复制import sys
reload(sys)
sys.setdefaultencoding('utf-8')
对于这两个处理中文输出的代码,最好每次处理中文时就加上,会减少很多问题
第二种问题:
这个网上有很多人说过,就是进入setting中,将file encoding中的encoding选项都选为 utf-8 选项
第三种问题:
如果以上两种都无法解决你的问题,打印出来还是乱码,也许你输入的中文编码就有问题了。
代码语言:javascript复制print type(s) <span style="font-family: Arial, Helvetica, sans-serif;">#s为字符串</span>
如果结果是 type str, pycharm的console中文输出 的要求需要的编码是unicode,这就是主要症结所在。所以,我们需要做的是把str转为unicode
代码语言:javascript复制with open("test") as f:
for i in f:
# 将读入的utf-8字节流进行解码
u = i.decode('utf-8')
这是一种常规的做法,将字符输出是编码,还有一种就是在读入数据的时候就将字符编码
代码语言:javascript复制# 使用codecs直接开unicode通道
import codecs
file = codecs.open("test", "r", "utf-8")
for i in file:
print type(i)
# i的类型是unicode的
这里使用了codecs库,这是一种 Python自带处理各种字符编码的字符串和文件的库,对文件的读入,爬虫网页的读入,都有很好的效果,网上有很多教程,这里就不多赘述。
如果pycharm还有问题请留言。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/175072.html原文链接:https://javaforall.cn