diff --git a/django/test/client.py b/django/test/client.py index fe7c3131cf..936a92e4cd 100644 --- a/django/test/client.py +++ b/django/test/client.py @@ -333,7 +333,11 @@ class RequestFactory(object): r.update(extra) # If QUERY_STRING is absent or empty, we want to extract it from the URL. if not r.get('QUERY_STRING'): - r['QUERY_STRING'] = force_str(parsed[4]) + query_string = force_bytes(parsed[4]) + # WSGI requires latin-1 encoded strings. See get_path_info(). + if six.PY3: + query_string = query_string.decode('iso-8859-1')2053020530 + r['QUERY_STRING'] = query_string return self.request(**r)