On Sep 11 19:54, Takashi Yano via Cygwin-patches wrote:
> - If pseudo console is disabled, non-cygwin apps do not detect
> console device. In this case, some apps output UTF-8 regardless
> of the locale setting. At least git-for-windows, rust-based apps
> and node.js do that. This patch provides backward compatibility
> as default behaviour by setting console codepage to the charset of
> the locale. Even in the cases above, garbled output is prevented
> with this patch in most cases because mintty uses UTF-8 by default.
>
> I beleave this is not really a problem in cygwin side but that in
> app side, however, some users complain about garbled output with
> existing apps in MSYS2 (which is based on cygwin) in which pseudo
> console is disabled by default.
> ---
> winsup/cygwin/fhandler_tty.cc | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc
> index ee5c6a90a..3d93bef30 100644
> --- a/winsup/cygwin/fhandler_tty.cc
> +++ b/winsup/cygwin/fhandler_tty.cc
> @@ -1835,7 +1835,11 @@ fhandler_pty_slave::setup_locale (void)
> extern UINT __eval_codepage_from_internal_charset ();
>
> if (!get_ttyp ()->term_code_page)
> - get_ttyp ()->term_code_page = __eval_codepage_from_internal_charset ();
> + {
> + get_ttyp ()->term_code_page = __eval_codepage_from_internal_charset ();
> + SetConsoleCP (get_ttyp ()->term_code_page);
> + SetConsoleOutputCP (get_ttyp ()->term_code_page);
> + }
> }
>
> void
> --
> 2.28.0
Pushed.
Thanks,
Corinna