记一次python编码错误
摘要:
断断续续写python一段时间了,让我说python最令我头疼的问题,莫过于编码问题。最近做大论文,使用python再次出现编码报错。错误如下:
“UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position ....”
用过python的人大都遇到过上面的错误,遇到这个问题,首先要进行定位,首先要判断python的默认编码环境是否符合你的要求,具体操作如下:
import sys print sys.getdefaultencoding()
看看打印输出的编码是否符合你的要求。如果不符合你的要求,则可按照以下三步解决(方法来自网上):
import sys reload(sys) sys.setdefaultencdong("utf-8")
如果上面的方法仍然不能解决你的问题,那你需要考虑三个部分之间的编码逻辑:输入编码、python环境编码、希望的输出编码,如果这三处的编码不一致的,也有可能会报编码错误,这个时候就需要对应的decode和encode转换编码,以便符合要求。
注:以上个人理解,欢迎大家留言讨论