【Python学习笔记】出现乱码问题之解决方案汇总

    xiaoxiao2021-03-25  394

    【使用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好了= = 目前原理尚未太清晰,以后再去理顺

    转载请注明原文地址: https://ju.6miu.com/read-4.html

    最新回复(0)