Python使用时,经常出现各种编码的问题。这里汇总一下常用的解决办法。
万能开头代码
代码语言:javascript复制#coding=utf-8
import sys
reload(sys) #必须要reload
sys.setdefaultencoding('utf-8')
分析
方法一 原文件编码声明
代码语言:javascript复制#放在原文件第一行
#coding=utf-8
方法二 默认编码修改
查看python的默认编码
代码语言:javascript复制import sys
print sys.getdefaultencoding()
更改python默认编码
代码语言:javascript复制import sys
reload(sys) #必须要reload
sys.setdefaultencoding('utf-8')
疑难问题
UnicodeDecodeError解决办法
通常情况使用前面的两种方法,基本不会有什么问题。但是最近还是碰到编码的问题。
在往一个函数传递字符串时出现的错误:
代码语言:javascript复制exceptions.UnicodeDecodeError: ‘utf8’ codec can’t decode byte 0xce in position 0: invalid continuation byte
解决办法:
对字符串进行unicode化,忽略错误,代码如下:
代码语言:javascript复制unicode( rst , errors='ignore')