在做爬虫的时候爬到的中文在控制台中显示乱码,编辑器用的是notepad++是在powershell中运行的python程序。在网上搜索了也没有找到合适的解决方法请问各位这个如何解决? 先谢谢了!
认证高级PHP讲师
首先,code utf8加了沒?最前面加上下面這句
#-*_coding:utf8-*-
其次, 有些網頁不一定是utf8編碼的, 這樣的網頁裡的中文爬下來要先轉碼才能打印, 例如,很多網頁是GBK編碼的,可以用下面這一行代碼轉成Unicode的
unicodePage = myPage.decode("gbk").encode('utf-8').decode('utf-8')
網頁上的編碼方式和你本地環境的編碼方式不一樣,設定本地編碼為網頁的編碼方式。
網頁一般是uft-8編碼的,Windows上gbk編碼的,做好適當的轉碼就OK了
環境變數裡面設定PYTHONIOENCODING為UTF8
print u'中文'?
print u'中文'
加一句這個試試呢
import sys reload(sys) sys.setdefaultencoding('utf-8')
一些招數:
#coding=utf-8 from __future__ import unicode_literals 3 利用unicode做中间桥梁(不得不说在Windows上用Python还是比较不爽的)
題主問題太不具體,不是個好問題!
Windows上面Python 2.x程式涉及到中文字元時建議:
Python原始碼檔案儲存的時候儲存為UTF-8無BOM編碼格式
在Python原始碼檔案第一行或第二行加上
# -*- coding:utf8 -*-
所有程式碼中出現中文字串的地方用Unicdoe物件,用u''包起來
首先,code utf8加了沒?
最前面加上下面這句
其次, 有些網頁不一定是utf8編碼的, 這樣的網頁裡的中文爬下來要先轉碼才能打印, 例如,很多網頁是GBK編碼的,可以用下面這一行代碼轉成Unicode的
網頁上的編碼方式和你本地環境的編碼方式不一樣,設定本地編碼為網頁的編碼方式。
網頁一般是uft-8編碼的,Windows上gbk編碼的,做好適當的轉碼就OK了
環境變數裡面設定PYTHONIOENCODING為UTF8
print u'中文'
?加一句這個試試呢
一些招數:
題主問題太不具體,不是個好問題!
Windows上面Python 2.x程式涉及到中文字元時建議:
Python原始碼檔案儲存的時候儲存為UTF-8無BOM編碼格式
在Python原始碼檔案第一行或第二行加上
所有程式碼中出現中文字串的地方用Unicdoe物件,用u''包起來