首頁  >  問答  >  主體

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

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

PHP中文网PHP中文网2764 天前516

全部回覆(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
  • 取消回覆