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')
那么你的连接应该可以工作。
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')
那么你的连接应该可以工作。