Modify ↓
Opened 11 years ago
Closed 11 years ago
#11354 closed defect (duplicate)
UnicodeEncodeError on wiki and ticket notifications containing non-ascii codes
Reported by: | anonymous | Owned by: | Steffen Hoffmann |
---|---|---|---|
Priority: | normal | Component: | AnnouncerPlugin |
Severity: | normal | Keywords: | |
Cc: | nebojsa@… | Trac Release: | 1.0 |
Description
If I choose diff for wiki pages, and if there is a non ascii in the diff itself, exception is thrown, visible only in trac log:
self._do_send(transport, event, k, v, fmtdict[k]) File "build/bdist.linux-armv5tel/egg/announcer/distributors/mail.py", line 481, in _do_send msgText = MIMEText(alternate_output, alt_msg_format) File "/usr/lib/python2.7/email/mime/text.py", line 30, in __init__ self.set_payload(_text, _charset) File "/usr/lib/python2.7/email/message.py", line 226, in set_payload self.set_charset(charset) File "/usr/lib/python2.7/email/message.py", line 262, in set_charset self._payload = self._payload.encode(charset.output_charset) UnicodeEncodeError: 'ascii' codec can't encode character u'\u0161' in position 259: ordinal not in range(128)
I have traced problem down to announcer/distributors/mail.py. Following patch fixes problem for me:
Index: announcer/distributors/mail.py =================================================================== --- announcer/distributors/mail.py (revision 13419) +++ announcer/distributors/mail.py (working copy) @@ -478,16 +478,16 @@ rootMessage.attach(parentMessage) alt_msg_format = 'html' in alternate_style and 'html' or 'plain' - msgText = MIMEText(alternate_output, alt_msg_format) - msgText.set_charset(self._charset) + msgText = MIMEText(alternate_output, alt_msg_format, "utf-8") + # msgText.set_charset(self._charset) parentMessage.attach(msgText) else: parentMessage = rootMessage msg_format = 'html' in format and 'html' or 'plain' - msgText = MIMEText(output, msg_format) - del msgText['Content-Transfer-Encoding'] - msgText.set_charset(self._charset) + msgText = MIMEText(output, msg_format, "utf-8") + # del msgText['Content-Transfer-Encoding'] + # msgText.set_charset(self._charset) # According to RFC 2046, the last part of a multipart message is best # and preferred. parentMessage.attach(msgText)
I am running python 2.7.5
Attachments (0)
Change History (2)
comment:1 Changed 11 years ago by
Cc: | nebojsa@… added; anonymous removed |
---|
comment:2 Changed 11 years ago by
Resolution: | → duplicate |
---|---|
Status: | new → closed |
Note: See
TracTickets for help on using
tickets.
A duplicate of #10974.