aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Law <simon.law@ecometrica.com>2012-08-30 14:12:26 -0400
committerSimon Law <simon.law@ecometrica.com>2012-08-30 14:12:26 -0400
commitef5678ce4ff518b7e3dfbda87563b7ffac6d7816 (patch)
tree3ca8da9b1df4cf30e3b5470aec8d196e8ee03629
parent0aa9bd310e5d66a76a109174f12885d0629861a3 (diff)
downloaddjango-wkhtmltopdf-ef5678ce4ff518b7e3dfbda87563b7ffac6d7816.tar.gz
django-wkhtmltopdf-ef5678ce4ff518b7e3dfbda87563b7ffac6d7816.tar.bz2
django-wkhtmltopdf-ef5678ce4ff518b7e3dfbda87563b7ffac6d7816.zip
Pass --encoding utf8 to wkhtmltopdf to render Unicode characters to PDF.
Since we PDFTemplateResponse renders templates, and Django uses UTF-8 to do the rendering, we can safely assume that the result is in UTF-8.
-rw-r--r--docs/settings.rst2
-rw-r--r--wkhtmltopdf/utils.py3
2 files changed, 4 insertions, 1 deletions
diff --git a/docs/settings.rst b/docs/settings.rst
index 7b5116a..63b1116 100644
--- a/docs/settings.rst
+++ b/docs/settings.rst
@@ -21,7 +21,7 @@ this app will look for the binary using the default OS paths.
WKHTMLTOPDF_CMD_OPTIONS
~~~~~~~~~~~~~~~~~~~~~~~
-Default: ``{'quiet': True}``
+Default: ``{'encoding': 'utf8', 'quiet': True}``
A dictionary of command-line arguments to pass to the ``wkhtmltopdf``
binary.
diff --git a/wkhtmltopdf/utils.py b/wkhtmltopdf/utils.py
index 99998a2..8e0caef 100644
--- a/wkhtmltopdf/utils.py
+++ b/wkhtmltopdf/utils.py
@@ -71,6 +71,9 @@ def wkhtmltopdf(pages, output=None, **kwargs):
options = copy(options)
options.update(kwargs)
+ # Force --encoding utf8 unless the user has explicitly overridden this.
+ options.setdefault('encoding', 'utf8')
+
env = getattr(settings, 'WKHTMLTOPDF_ENV', None)
if env is not None:
env = dict(os.environ, **env)