Kernel::system gives wrong output for utf-8 characters on windows under utf-8 console
Under windows console running in utf-8 mode (chcp 65001), it is expected to print utf-8 encoded characters in a script from system calls correctly.
To reproduce, create a file in utf-8 format running this:¶
system "echo abcæøå"¶
Make sure to set utf-8 console on windows
The expected output is:
Running the following on a command prompt gives the correct output:
ruby -e "system 'echo abcæøå'"
The problem comes clear when running other Windows commands through command line parameters e.g:
Notepad will complain not finding the file abcÃ¦Ã¸Ã¥.txt instead of abcæøå.txt
It seems that there is an internal encoding done before running the command.