diff options
Diffstat (limited to 'Lib/email/header.py')
-rw-r--r-- | Lib/email/header.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Lib/email/header.py b/Lib/email/header.py index 2e687b7..3250d36 100644 --- a/Lib/email/header.py +++ b/Lib/email/header.py @@ -283,7 +283,12 @@ class Header: # character set, otherwise an early error is thrown. output_charset = charset.output_codec or 'us-ascii' if output_charset != _charset.UNKNOWN8BIT: - s.encode(output_charset, errors) + try: + s.encode(output_charset, errors) + except UnicodeEncodeError: + if output_charset!='us-ascii': + raise + charset = UTF8 self._chunks.append((s, charset)) def encode(self, splitchars=';, \t', maxlinelen=None, linesep='\n'): |