From 8c41b8aac3efb78178fe1eaf52d8d1bbc44941a8 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Fri, 5 Mar 2021 15:33:40 +0100 Subject: w32: Always use Unicode for console input and output. * common/init.c (_init_common_subsystems) [W32]: Set the codepage to UTF-8 for input and putput. Switch gettext to UTF-8. * tools/gpgconf.c (main): Display the input and output codepage if they differ. * g10/gpg.c (utf8_strings) [W32]: Make sure this is always set. -- With this patch the former patch to use ReadConsoleW and WriteConsoleW in ttyio.c are kind of superfluous because the ANSI version of these functions are also able to read/write UTF-8 directly given the console code page has been set correctly. However, this seems to work only with recent versions of Windows-10. GnuPG-bug-id: 4365 --- doc/gpg.texi | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'doc') diff --git a/doc/gpg.texi b/doc/gpg.texi index 6b912d674..b93b52cd7 100644 --- a/doc/gpg.texi +++ b/doc/gpg.texi @@ -1529,13 +1529,14 @@ not used). @item --display-charset @var{name} @opindex display-charset -Set the name of the native character set. This is used to convert -some informational strings like user IDs to the proper UTF-8 encoding. +Set the name of the native character set. This is used to convert some +informational strings like user IDs to the proper UTF-8 encoding. Note that this has nothing to do with the character set of data to be -encrypted or signed; GnuPG does not recode user-supplied data. If -this option is not used, the default character set is determined from -the current locale. A verbosity level of 3 shows the chosen set. -Valid values for @var{name} are: +encrypted or signed; GnuPG does not recode user-supplied data. If this +option is not used, the default character set is determined from the +current locale. A verbosity level of 3 shows the chosen set. This +option should not be used on Windows. Valid values for @var{name} +are: @table @asis @@ -1571,6 +1572,12 @@ encoded in the character set as specified by @option{--display-charset}. These options affect all following arguments. Both options may be used multiple times. +This option has no effect on Windows. There the internal used UTF-8 +encoding is translated for console input and output. The command line +arguments are expected as Unicode and translated to UTF-8. Thus when +calling this program from another, make sure to use the Unicode +version of CreateProcess. + @anchor{gpg-option --options} @item --options @var{file} @opindex options -- cgit v1.2.3