1.问题详情
在运行代码时出现编码错误的情况,查询数篇博客后得知原因是系统默认的编码方式是ASCII编码
,但是我们需要指定编码方式为utf-8
2.如何解决
如何解决这个问题需要首先看你的python版本属于哪个版本。现在一般情况下大家使用的都是python3.X版本,但网上流传的现有解决方式基本都是针对python2.X版本。因此,若要解决该问题,可以在报错文件中开头加上
:
- Python2.X
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
- Python <= 3.3
import imp
imp.reload(sys)
- Python >= 3.4
import importlib
importlib.reload(sys)
其实目前流传的解决方式一般都是使用
setdefaultencoding
设置为utf-8,但是目前python3中的sys已经没有这个函数了。因此需要使用对应版本的解决方式。
感谢
感谢以下作者博客给与的参考:
1.解决UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5
2.NameError: name ‘reload’ is not defined