document that various functions that parse from source will interpret things as latin-1 (closes #18870)
diff --git a/Doc/reference/simple_stmts.rst b/Doc/reference/simple_stmts.rst
index a6fd064..254d1ba 100644
--- a/Doc/reference/simple_stmts.rst
+++ b/Doc/reference/simple_stmts.rst
@@ -981,15 +981,16 @@
exec_stmt: "exec" `or_expr` ["in" `expression` ["," `expression`]]
This statement supports dynamic execution of Python code. The first expression
-should evaluate to either a string, an open file object, a code object, or a
-tuple. If it is a string, the string is parsed as a suite of Python statements
-which is then executed (unless a syntax error occurs). [#]_ If it is an open
-file, the file is parsed until EOF and executed. If it is a code object, it is
-simply executed. For the interpretation of a tuple, see below. In all cases,
-the code that's executed is expected to be valid as file input (see section
-:ref:`file-input`). Be aware that the :keyword:`return` and :keyword:`yield`
-statements may not be used outside of function definitions even within the
-context of code passed to the :keyword:`exec` statement.
+should evaluate to either a Unicode string, a *Latin-1* encoded string, an open
+file object, a code object, or a tuple. If it is a string, the string is parsed
+as a suite of Python statements which is then executed (unless a syntax error
+occurs). [#]_ If it is an open file, the file is parsed until EOF and executed.
+If it is a code object, it is simply executed. For the interpretation of a
+tuple, see below. In all cases, the code that's executed is expected to be
+valid as file input (see section :ref:`file-input`). Be aware that the
+:keyword:`return` and :keyword:`yield` statements may not be used outside of
+function definitions even within the context of code passed to the
+:keyword:`exec` statement.
In all cases, if the optional parts are omitted, the code is executed in the
current scope. If only the first expression after ``in`` is specified,