diff --git a/django/http/request.py b/django/http/request.py
index d3f0888..7538cd2 100644
--- a/django/http/request.py
+++ b/django/http/request.py
@@ -275,19 +275,23 @@ class QueryDict(MultiValueDict):
         if not encoding:
             encoding = settings.DEFAULT_CHARSET
         self.encoding = encoding
-        if six.PY3:
-            if isinstance(query_string, bytes):
-                # query_string contains URL-encoded data, a subset of ASCII.
-                query_string = query_string.decode()
-            for key, value in parse_qsl(query_string or '',
-                                        keep_blank_values=True,
-                                        encoding=encoding):
-                self.appendlist(key, value)
-        else:
-            for key, value in parse_qsl(query_string or '',
-                                        keep_blank_values=True):
-                self.appendlist(force_text(key, encoding, errors='replace'),
-                                force_text(value, encoding, errors='replace'))
+        if query_string:
+            if six.PY3:
+                if isinstance(query_string, bytes):
+                    # query_string contains URL-encoded data, a subset of ASCII.
+                    query_string = query_string.decode()
+                for key, value in parse_qsl(query_string,
+                                            keep_blank_values=True,
+                                            strict_parsing=True,
+                                            encoding=encoding,
+                                            errors='strict'):
+                    self.appendlist(key, value)
+            else:
+                for key, value in parse_qsl(query_string,
+                                            keep_blank_values=True,
+                                            strict_parsing=True):
+                    self.appendlist(force_text(key, encoding),
+                                    force_text(value, encoding))
         self._mutable = mutable
 
     @property
