1

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

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

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

4

1 回答 1

1

您要连接的字符串的元素之一

welcome_msg + htmlMessageContent + footer_msg

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

找出哪个字符串不是 Unicode。为此,您可以使用type(). 将该字符串包装在对unicode()解释您希望如何'\xe3'解释的调用中。例如,如果'\xe3'应该解释为'ã'

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

然后你的连接应该工作。

于 2018-02-22T14:05:17.180 回答