首页  >  问答  >  正文

python3.x - windows下python控制台输出中文乱码问题?

在做爬虫的时候爬到的中文在控制台中显示乱码,编辑器用的是notepad++
是在powershell中运行的python程序。
在网上搜索了也没有找到合适的解决方法
请问各位这个如何解决? 先谢谢了!

PHP中文网PHP中文网2764 天前515

全部回复(8)我来回复

  • 巴扎黑

    巴扎黑2017-04-17 16:06:36

    首先,code utf8加了没?
    最前面加上下面这句

    #-*_coding:utf8-*-
    

    其次, 有些网页不一定是utf8编码的, 这样的网页里的中文爬下来要先转码才能打印, 例如,很多网页是GBK编码的,可以用下面这一行代码转成Unicode的

    unicodePage = myPage.decode("gbk").encode('utf-8').decode('utf-8')

    回复
    0
  • 黄舟

    黄舟2017-04-17 16:06:36

    网页上的编码方式和你本地环境的编码方式不一样,设置本地编码为网页的编码方式。

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 16:06:36

    网页一般是uft-8编码的,Windows上gbk编码的,做好适当的转码就OK了

    回复
    0
  • PHP中文网

    PHP中文网2017-04-17 16:06:36

    环境变量里面设置PYTHONIOENCODING为UTF8

    回复
    0
  • PHP中文网

    PHP中文网2017-04-17 16:06:36

    print u'中文'

    回复
    0
  • 阿神

    阿神2017-04-17 16:06:36

    加一句这个试试呢

    import sys
    reload(sys)
    sys.setdefaultencoding('utf-8')

    回复
    0
  • 怪我咯

    怪我咯2017-04-17 16:06:36

    一些招数:

    #coding=utf-8
    from __future__ import unicode_literals
    
    3 利用unicode做中间桥梁(不得不说在Windows上用Python还是比较不爽的)

    回复
    0
  • PHP中文网

    PHP中文网2017-04-17 16:06:36

    题主问题太不具体,不是一个好问题!

    Windows上面Python 2.x程序涉及到中文字符时建议:

    • Python源码文件保存的时候保存为UTF-8无BOM编码格式

    • 在Python源码文件第一行或者第二行加上

          # -*- coding:utf8 -*- 
    • 所有代码中出现中文字符串的地方用Unicdoe对象,用u''包起来

    回复
    0
  • 取消回复