This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients corona10, erlendaasland, neonene, paul.moore, petr.viktorin, shihai1991, steve.dower, tim.golden, vstinner, zach.ware
Date 2021-01-07.23:08:48
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1610060928.95.0.109934885023.issue42846@roundup.psfhosted.org>
In-reply-to
Content
Simpler way to reproduce the issue with t.py script:
---
import test.support
import sys

import _testcapi

print(f"{sys.stdout.encoding=}", file=sys.stderr)

with test.support.SuppressCrashReport():
    _testcapi.run_in_subinterp("pass")
---

By default, UTF-8 is used, everything is fine:
-----
C:\> python t.py
sys.stdout.encoding='utf-8'
-----

Disable _WindowsConsoleIO with PYTHONLEGACYWINDOWSSTDIO env var, we get the issue:
-----
C:\> set PYTHONLEGACYWINDOWSSTDIO=1

C:\> python t.py
Running Debug|x64 interpreter...
sys.stdout.encoding='cp932'
TypeError: codec is unexpected type
Fatal Python error: (...)
-----

Or redirect the output into a program or a file to disable _WindowsConsoleIO to also reproduce the issue:
-----
C:\> python t.py|more
sys.stdout.encoding='cp932'
TypeError: codec is unexpected type
(...)
-----
History
Date User Action Args
2021-01-07 23:08:48vstinnersetrecipients: + vstinner, paul.moore, tim.golden, petr.viktorin, zach.ware, steve.dower, corona10, shihai1991, neonene, erlendaasland
2021-01-07 23:08:48vstinnersetmessageid: <1610060928.95.0.109934885023.issue42846@roundup.psfhosted.org>
2021-01-07 23:08:48vstinnerlinkissue42846 messages
2021-01-07 23:08:48vstinnercreate