summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Mailman/HTMLFormatter.py9
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