From 8e082a6e0b63a1cfdb0bc7b2835c6447123aa239 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Fri, 22 Jun 2018 03:15:29 -0400 Subject: [2.0.x] Fixed #29511 -- Added charset to JavaScriptCatalog's Content-Type header. Backport of 7cdeb23ae7ef2d125276840ff298dbb9683959f2 from master --- django/views/i18n.py | 2 +- tests/view_tests/tests/test_i18n.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/django/views/i18n.py b/django/views/i18n.py index e121d3038a..240059a19f 100644 --- a/django/views/i18n.py +++ b/django/views/i18n.py @@ -311,7 +311,7 @@ class JavaScriptCatalog(View): ) if context['catalog'] else None context['formats_str'] = indent(json.dumps(context['formats'], sort_keys=True, indent=2)) - return HttpResponse(template.render(Context(context)), 'text/javascript') + return HttpResponse(template.render(Context(context)), 'text/javascript; charset="utf-8"') class JSONCatalog(JavaScriptCatalog): diff --git a/tests/view_tests/tests/test_i18n.py b/tests/view_tests/tests/test_i18n.py index 38e5367d03..4f1a07b272 100644 --- a/tests/view_tests/tests/test_i18n.py +++ b/tests/view_tests/tests/test_i18n.py @@ -200,6 +200,7 @@ class I18NViewTests(SimpleTestCase): catalog = gettext.translation('djangojs', locale_dir, [lang_code]) trans_txt = catalog.gettext('this is to be translated') response = self.client.get('/jsi18n/') + self.assertEqual(response['Content-Type'], 'text/javascript; charset="utf-8"') # response content must include a line like: # "this is to be translated": # json.dumps() is used to be able to check unicode strings -- cgit v1.3