summaryrefslogtreecommitdiff
path: root/tablib
diff options
context:
space:
mode:
Diffstat (limited to 'tablib')
-rw-r--r--tablib/formats/_html.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/tablib/formats/_html.py b/tablib/formats/_html.py
index 0b45f14..655e74c 100644
--- a/tablib/formats/_html.py
+++ b/tablib/formats/_html.py
@@ -31,7 +31,7 @@ def export_set(dataset):
page.table.open()
if dataset.headers is not None:
- new_header = [item if item is not None else '' for item in dataset.headers]
+ new_header = [item if item is not None else '' for item in dataset.headers]
page.thead.open()
headers = markup.oneliner.th(new_header)
@@ -39,7 +39,7 @@ def export_set(dataset):
page.thead.close()
for row in dataset:
- new_row = [item if item is not None else '' for item in row]
+ new_row = [item if item is not None else '' for item in row]
html_row = markup.oneliner.td(new_row)
page.tr(html_row)
@@ -58,10 +58,13 @@ def export_book(databook):
stream = StringIO()
+ # Allow unicode characters in output
+ wrapper = codecs.getwriter("utf8")(stream)
+
for i, dset in enumerate(databook._datasets):
title = (dset.title if dset.title else 'Set %s' % (i))
- stream.write('<%s>%s</%s>\n' % (BOOK_ENDINGS, title, BOOK_ENDINGS))
- stream.write(dset.html)
- stream.write('\n')
+ wrapper.write('<%s>%s</%s>\n' % (BOOK_ENDINGS, title, BOOK_ENDINGS))
+ wrapper.write(dset.html)
+ wrapper.write('\n')
- return stream.getvalue()
+ return stream.getvalue().decode('utf-8')