Hi All, The following piece of code is giving me issues:
from email.Charset import Charset,QP from email.MIMEText import MIMEText charset = Charset('utf-8') charset.body_encoding = QP msg = MIMEText( u'Some text with chars that need encoding: \xa3', 'plain', ) msg.set_charset(charset) print msg.as_string() Under Python 2.4.2, this produces the following output, as I'd expect: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" Some text with chars that need encoding: =A3 However, under Python 2.4.3, I now get: Traceback (most recent call last): File "test_encoding.py", line 14, in ? msg.as_string() File "c:\python24\lib\email\Message.py", line 129, in as_string g.flatten(self, unixfrom=unixfrom) File "c:\python24\lib\email\Generator.py", line 82, in flatten self._write(msg) File "c:\python24\lib\email\Generator.py", line 113, in _write self._dispatch(msg) File "c:\python24\lib\email\Generator.py", line 139, in _dispatch meth(msg) File "c:\python24\lib\email\Generator.py", line 182, in _handle_text self._fp.write(payload) UnicodeEncodeError: 'ascii' codec can't encode character u'\xa3' in position 41: ordinal not in range(128) This seems to be as a result of this change: http://svn.python.org/view/python/branches/release24-maint/Lib/email/Generator.py?rev=42272&r1=37910&r2=42272 ...which is referred to as part of a fix for this bug: http://sourceforge.net/tracker/?func=detail&aid=1409455&group_id=5470&atid=105470 Now, is this change to Generator.py in error or am I doing something wrong? If the latter, how can I change my code such that it works as I'd expect? cheers, Chris -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk -- http://mail.python.org/mailman/listinfo/python-list