diff --git a/src/calibre/utils/formatter.py b/src/calibre/utils/formatter.py index 0711013437..eff38203a0 100644 --- a/src/calibre/utils/formatter.py +++ b/src/calibre/utils/formatter.py @@ -294,11 +294,11 @@ class _CompileParser(_Parser): self.parent_book, self.parent_locals, *args) elif self.token_is_constant(): # String or number - v = self.token() + v = unicode(self.token()) if self.compile_text: tv = v.replace("\\", "\\\\") tv = tv.replace("'", "\\'") - self.compile_text += "\targs[%d].append('%s')\n"%(level, tv) + self.compile_text += "\targs[%d].append(unicode('%s'))\n"%(level, tv) return v else: self.error(_('expression is not function or constant'))