try this patch:
--- cut here ---
--- BeautifulSoup.py.orig 2009-01-06 19:10:49.000000000 -0200
+++ BeautifulSoup.py 2009-05-16 15:05:40.000000000 -0300
@@ -1044,7 +1044,10 @@
def handle_charref(self, ref):
"Handle character references as data."
if self.soup.convertEntities:
- data = unichr(int(ref))
+ if ref[0] in ('x', 'X'):
+ data = unichr(int('0'+ref,16))
+ else:
+ data = unichr(int(ref))
else:
data = '&#%s;' % ref
self.handle_data(data)
--- cut here ---
save it to BS.diff, go to the dir where BeautifulSoup.py is, patch -p0
< BS.diff.