diff options
| -rw-r--r-- | Mailman/HTMLFormatter.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Mailman/HTMLFormatter.py b/Mailman/HTMLFormatter.py index bf291d79a..03818ff4f 100644 --- a/Mailman/HTMLFormatter.py +++ b/Mailman/HTMLFormatter.py @@ -346,13 +346,20 @@ class HTMLFormatter: return '' def ParseTags(self, template, replacements, lang=None): + if lang is None: + charset = 'us-ascii' + else: + charset = Utils.GetCharSet(lang) text = Utils.maketext(template, raw=1, lang=lang, mlist=self) parts = re.split('(</?[Mm][Mm]-[^>]*>)', text) i = 1 while i < len(parts): tag = parts[i].lower() if replacements.has_key(tag): - parts[i] = replacements[tag] + repl = replacements[tag] + if isinstance(repl, type(u'')): + repl = repl.encode(charset, 'replace') + parts[i] = repl else: parts[i] = '' i = i + 2 |
