UnicodeDecodeError:'ascii'编解码器无法解码字节0xe3

时间:2018-02-22 12:21:34

标签: python python-2.7 python-unicode mime-mail

UnicodeDecodeError:'ascii'编解码器无法解码字节0xe3

我在py 2.7中为线路运行邮件脚本时遇到了这个问题...

msg.attach(MIMEText(welcome_msg + htmlMessageContent + footer_msg,'html'))

1 个答案:

答案 0 :(得分:0)

您正在连接的字符串的一个元素

welcome_msg + htmlMessageContent + footer_msg

是Unicode,而另一个则不是。当您连接字符串时,Python将它们全部转换为公共类型(Unicode),就像将整数添加到float时一样。但是默认的字符串转换为Unicode是ascii,如果字符串包含非ascii字符,它将失败。

找出哪个字符串不是Unicode。为此,您可以使用type()。在调用unicode()时将该字符串换行,以解释您希望'\xe3'解释的方式。 例如,如果'\xe3'应解释为'ã'

unicode(mystring, encoding='Latin-1')

然后你的串联应该有用。