+import re
+entity_re = re.compile("(&#[0-9]+;)")
+
+def recode_entities(title, charset):
+ output = []
+ for part in entity_re.split(title):
+ if entity_re.match(part):
+ part = unichr(int(part[2:-1])).encode(charset, "replace")
+ output.append(part)
+
+ return ''.join(output)
+
+