UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3

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

我在 运行 py 2.7 中的邮件脚本中遇到这个问题...

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

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

welcome_msg + htmlMessageContent + footer_msg

是 Unicode,还有一个不是。当您连接字符串时,Python 已将它们全部转换为通用类型 (Unicode),就像将整数添加到浮点数时所做的那样。但默认的 Unicode 字符串转换是 ascii,如果字符串包含 non-ascii 字符,它将失败。

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

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

那么你的连接应该可以工作。