diff --git a/pagure/ui/issues.py b/pagure/ui/issues.py index 00fa606..3ea48a8 100644 --- a/pagure/ui/issues.py +++ b/pagure/ui/issues.py @@ -1106,9 +1106,9 @@ def view_issue_raw_file( if mimetype.startswith('text/') and not encoding: encoding = chardet.detect(ktc.to_bytes(data))['encoding'] - headers['Content-Type'] = mimetype if encoding: - headers['Content-Encoding'] = encoding + mimetype += '; charset={encoding}'.format(encoding=encoding) + headers['Content-Type'] = mimetype return (data, 200, headers) diff --git a/pagure/ui/repo.py b/pagure/ui/repo.py index 49b5718..495c329 100644 --- a/pagure/ui/repo.py +++ b/pagure/ui/repo.py @@ -547,8 +547,6 @@ def view_file(repo, identifier, filename, username=None, namespace=None): output_type = 'tree' headers = {} - if encoding: - headers['Content-Encoding'] = encoding return ( flask.render_template( @@ -652,9 +650,9 @@ def view_raw_file( if mimetype.startswith('text/') and not encoding: encoding = chardet.detect(ktc.to_bytes(data))['encoding'] - headers['Content-Type'] = mimetype if encoding: - headers['Content-Encoding'] = encoding + mimetype += '; charset={encoding}'.format(encoding=encoding) + headers['Content-Type'] = mimetype return (data, 200, headers) diff --git a/tests/test_pagure_flask_ui_repo.py b/tests/test_pagure_flask_ui_repo.py index e09eb4c..f518ee8 100644 --- a/tests/test_pagure_flask_ui_repo.py +++ b/tests/test_pagure_flask_ui_repo.py @@ -1439,6 +1439,8 @@ class PagureFlaskRepotests(tests.Modeltests): ncommits=1, filename='Šource') output = self.app.get('/test/blob/master/f/Šource') self.assertEqual(output.status_code, 200) + self.assertEqual(output.headers['Content-Type'].lower(), + 'text/html; charset=utf-8') self.assertIn(' Šource', output.data) self.assertIn('