Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #100143
| From | Adam Funk <a24061@ducksburg.com> |
|---|---|
| Newsgroups | comp.lang.python |
| Subject | Re: writing an email.message.Message in UTF-8 |
| Date | 2015-12-08 09:35 +0000 |
| Organization | $CABAL |
| Message-ID | <arkijcxt0v.ln2@news.ducksburg.com> (permalink) |
| References | <nbjgjcxqsh.ln2@news.ducksburg.com> <mailman.52.1449561032.12405.python-list@python.org> |
On 2015-12-08, dieter wrote:
> Adam Funk <a24061@ducksburg.com> writes:
>
>> 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?
>
> You could try replacing "reply.set_payload('\n'.join(body_lines) + '\n')"
> by "reply.set_payload(('\n'.join(body_lines) + '\n').encode('utf-8'))",
> i.e. you would not pass in a unicode payload but an "utf-8" encode
> "str" payload.
That didn't work (I got the same error) but switching to python 3.2
did. Thanks, though.
--
A mathematical formula should never be "owned" by anybody! Mathematics
belonga to God. --- Donald Knuth
Back to comp.lang.python | Previous | Next — Previous in thread | Find similar | Unroll thread
writing an email.message.Message in UTF-8 Adam Funk <a24061@ducksburg.com> - 2015-12-07 14:57 +0000
Re: writing an email.message.Message in UTF-8 Adam Funk <a24061@ducksburg.com> - 2015-12-07 15:21 +0000
Re: writing an email.message.Message in UTF-8 Terry Reedy <tjreedy@udel.edu> - 2015-12-07 12:40 -0500
Re: writing an email.message.Message in UTF-8 Adam Funk <a24061@ducksburg.com> - 2015-12-08 09:35 +0000
Re: writing an email.message.Message in UTF-8 dieter <dieter@handshake.de> - 2015-12-08 08:50 +0100
Re: writing an email.message.Message in UTF-8 Adam Funk <a24061@ducksburg.com> - 2015-12-08 09:35 +0000
csiph-web