I'm trying to write an instance of email.message.Message, whose body contains unicode characters, to a UTF-8 file. (Python 2.7.3 & 2.7.10 again.)
reply = email.message.Message() reply.set_charset('utf-8') ... # set various headers reply.set_payload('\n'.join(body_lines) + '\n') ... outfile = codecs.open(outfilename, 'w', encoding='utf-8', errors='ignore') outfile.write(reply.as_string()) outfile.close() Then reply.as_string() barfs a UnicodeDecodeError. I look in the documentation, which says the generator is better. So I replace the outfile.write(...) line with the following: g = email.generator.Generator(outfile, mangle_from_=False) g.flatten(reply) which still barfs a UnicodeDecodeError. Looking closer at the first error, I see that the exception was in g.flatten(...) already & thrown up to reply.as_string(). How can I force the thing to do UTF-8 output? Thanks. -- $2.95! PLATE O' SHRIMP Luncheon Special -- https://mail.python.org/mailman/listinfo/python-list