diff --git a/bin/report/render/rml2pdf/trml2pdf.py b/bin/report/render/rml2pdf/trml2pdf.py index ee34befcd58..6e52896f493 100644 --- a/bin/report/render/rml2pdf/trml2pdf.py +++ b/bin/report/render/rml2pdf/trml2pdf.py @@ -216,7 +216,7 @@ class _rml_canvas(object): self.canvas.setTitle(self.title) def _textual(self, node, x=0, y=0): - rc = utils._process_text(self, node.text or '') + rc = utils._process_text(self, node.text.encode('utf-8') or '') for n in node: if n.tag == 'seq': from reportlab.lib.sequencer import getSequencer diff --git a/bin/report/render/rml2pdf/utils.py b/bin/report/render/rml2pdf/utils.py index 5fe96631fac..cb44ee6d5f2 100644 --- a/bin/report/render/rml2pdf/utils.py +++ b/bin/report/render/rml2pdf/utils.py @@ -41,6 +41,7 @@ import re import reportlab from lxml import etree import copy +import tools _regex = re.compile('\[\[(.+?)\]\]') @@ -111,7 +112,7 @@ def _process_text(self, txt): pass if type(txt)==type('') or type(txt)==type(u''): txt2 = str2xml(txt) - result += txt2 + result += tools.ustr(txt2) elif (txt is not None) and (txt is not False): result += str(txt) return result @@ -119,7 +120,7 @@ def _process_text(self, txt): def text_get(node): rc = '' for node in node.getchildren(): - rc = rc + node.text + rc = rc + tools.ustr(node.text) return rc units = [