【使用notepad++&cmd】
1.无法输出中文:
import urllib2 import cookielib url = "http://www.baidu.com" print "第一种方式" response1 = urllib2.urlopen(url) print response1.getcode() print len(response1.read()) print response1.read()报错
“ File "baidu.py", line 6 SyntaxError: Non-ASCII character '\xe7' in file baidu.py on line 6, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details”
解决方案:
# coding:utf8 import urllib2 import cookielib url = "http://www.baidu.com" print u"第一种方式" response1 = urllib2.urlopen(url) print response1.getcode() print len(response1.read()) print response1.read()或将第一行改为:
# -*- coding: utf-8 -*- 2.cmd编码方式问题cmd默认编码方式为gbk(936),若需改为utf-8输入chcp 65001,同时将字体改为Lucida Console。
输入chcp或直接右键属性可查看当前编码方式
3.print xx.read()输出乱码
查了一下,尝试使用了decode但仍然没有解决问题。用pycharm运行正常,猜测是CMD尚未调好。索性放弃= =
附decode方式:
rp = response3.read() print rp.decode('编码方式') 如:gb18030
4.pycharm输出乱码
在前附代码
import sys reload(sys) sys.setdefaultencoding('utf8') 但即使这样cmd运行也仍是乱码,预备接下来的学习都是用pycharm好了= = 目前原理尚未太清晰,以后再去理顺