Inada Naoki <songofaca...@gmail.com> added the comment:

> Okay, and also when GetConsoleCP() fails because there's no console (e.g. 
> python.exe w/ DETACHED_PROCESS creation flag, or pythonw.exe). 

When there is no console, stdio should use the default textio encoding that is 
ANSI for now.

> However, using UTF-8 for the input code page is currently broken in many 
> cases, so it should not be promoted as a recommended solution until Microsoft 
> fixes their broken code (which should have been fixed 20 years ago; it's 
> ridiculous). Legacy console applications rely on ReadFile and ReadConsoleA. 
> Setting the input code page to UTF-8 is limited to reading 7-bit ASCII 
> (ordinals 0-127). Other characters get converted to null bytes.

Regardless when we promote it, people use `chcp 65001` in cmd and 
`[Console]::OutputEncoding = [Text.Encoding]::UTF8` in Power Shell.
In such situation, UTF-8 is the best encoding for pipes and redirected files.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue42707>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to