【使用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好了= =目前原理尚未太清晰,以后再去理顺
本文针对Python在Notepad++及CMD环境下出现的中文显示乱码问题提供了详细的解决方案,包括设置文件编码、更改CMD默认编码以及使用PyCharm进行编码配置。
9838

被折叠的 条评论
为什么被折叠?



