UnicodeDecodeError:“ascii”编解码器无法解码字节 0xe3
我在 py 2.7 中为该行运行邮件脚本时遇到了这个问题...
msg.attach(MIMEText(welcome_msg + htmlMessageContent + footer_msg, 'html'))
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,如果字符串包含非 ascii 字符,它将失败。
找出哪个字符串不是 Unicode。为此,您可以使用type()
. 将该字符串包装在对unicode()
解释您希望如何'\xe3'
解释的调用中。例如,如果'\xe3'
应该解释为'ã'
:
unicode(mystring, encoding='Latin-1')
然后你的连接应该工作。