用imaplib收邮件,解析正文时(正文含繁体中文),偶尔遇到 'utf-8' codec can't decode byte 0xa4
换 'gb2312'、'gbk'都不行,报错如下
'gbk' codec can't decode byte 0xaa
'gb2312' codec can't decode byte 0xe8
ISO-8859-1 倒是没有报错,但显示出来是乱码
弄了一大轮,最终在decode()的参数里加入 'ignore'解决。
content=content.decode(charset,'ignore')
一般这种情况出现得较多是在国标码(GBK)和utf8之间选择出现了问题。
出现异常报错是由于设置了decode()方法的第二个参数errors为严格(strict)形式造成的,因为默认就是这个参数,将其更改为ignore等即可。