Back out fix for issue #13886; it introduced a new bug in interactive readline use.
diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
index a3c8dcc..dab56ce 100644
--- a/Lib/test/test_builtin.py
+++ b/Lib/test/test_builtin.py
@@ -18,13 +18,6 @@
     import pty, signal
 except ImportError:
     pty = signal = None
-# Importing this module has the side-effect of changing the behavior of input().
-# Ensure that we always use the readline version (if available), so we don't get
-# different results depending on what other tests have already imported.
-try:
-    import readline
-except ImportError:
-    pass
 
 
 class Squares:
diff --git a/Misc/NEWS b/Misc/NEWS
index 9e8e397..420056e 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,10 +12,6 @@
 
 - Issue #16979: Fix error handling bugs in the unicode-escape-decode decoder.
 
-- Issue #13886: Fix input() to not strip out input bytes that cannot be decoded
-  using the locale encoding. Also fix sporadic failures in test_builtin due to
-  dependence on whether the readline module has previously been imported.
-
 - Issue #10156: In the interpreter's initialization phase, unicode globals
   are now initialized dynamically as needed.
 
diff --git a/Modules/readline.c b/Modules/readline.c
index fd60377..4d54dad 100644
--- a/Modules/readline.c
+++ b/Modules/readline.c
@@ -1068,7 +1068,7 @@
     char *saved_locale = strdup(setlocale(LC_CTYPE, NULL));
     if (!saved_locale)
         Py_FatalError("not enough memory to save locale");
-    setlocale(LC_CTYPE, "C");
+    setlocale(LC_CTYPE, "");
 #endif
 
     if (sys_stdin != rl_instream || sys_stdout != rl_outstream) {