在做爬虫的时候爬到的中文在控制台中显示乱码,编辑器用的是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''包起来