• Yasuhiro Matsumoto's avatar
    os: use GetConsoleCP() instead of GetACP() · b851ded0
    Yasuhiro Matsumoto authored
    It is possible (and common) for Windows systems to use a different codepage
    for console applications from that used on normal windowed application
    (called ANSI codepage); for instance, most of the western Europe uses
    CP850 for console (for backward compatibility with MS-DOS), while
    windowed applications use a different codepage depending on the country
    (eg: CP1252 aka Latin-1). The usage being changed with this commit is
    specifically related to decoding input coming from the console, so the
    previous usage of the ANSI codepage was wrong.
    
    Also fixes an issue that previous did convert bytes as NFD. Go is
    designed to handle single Unicode code point. This fix change behaivor
    to NFC.
    
    Fixes #16857.
    
    Change-Id: I4f41ae83ece47321b6e9a79a2087ecbb8ac066dd
    Reviewed-on: https://go-review.googlesource.com/27575Reviewed-by: default avatarHiroshi Ioka <hirochachacha@gmail.com>
    Reviewed-by: default avatarAlex Brainman <alex.brainman@gmail.com>
    b851ded0
zsyscall_windows.go 2.92 KB