Issue 15648: stderr "refs" output does not respect PYTHONIOENCODING (original) (raw)
The --help documentation for the python executable says--
PYTHONIOENCODING: Encoding[:errors] used for stdin/stdout/stderr.
However, PYTHONIOENCODING doesn't seem to be respected for the python executable's "refs" output to stderr. For example, this--
args = [sys.executable, '-c', "print('[100 refs]')"]
env = {'PYTHONIOENCODING': 'utf-8'} popen = Popen(args, universal_newlines=False, stdin=PIPE, stdout=PIPE, stderr=PIPE, env=env) print(repr(popen.communicate()))
env = {'PYTHONIOENCODING': 'utf-16'} popen = Popen(args, universal_newlines=False, stdin=PIPE, stdout=PIPE, stderr=PIPE, env=env) print(repr(popen.communicate()))
yields--
(b'[10 refs]\n', b'[41761 refs]\n') (b'[\x001\x000\x00 \x00r\x00e\x00f\x00s\x00]\x00\n\x00', b'[42367 refs]\n')