Issue #9245 has been updated by jeremyevans0 (Jeremy Evans).

Backport deleted (1.9.3: UNKNOWN, 2.0.0: UNKNOWN)
Status changed from Open to Closed

This appears to be fixed as of Ruby 2.1.  I was able to recreate the issue =
in 2.0, but not in 2.1. I also tested the latest RubyInstaller-head, and th=
e problem is still fixed.

----------------------------------------
Bug #9245: Kernel::system gives wrong output for utf-8 characters on window=
s under utf-8 console
https://bugs.ruby-lang.org/issues/9245#change-92672

* Author: leifcr (Leif Ringstad)
* Status: Closed
* Priority: Normal
* Assignee: cruby-windows
* ruby -v: ruby 2.0.0p353 (2013-11-22) [i386-mingw32]
----------------------------------------
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:
---
# test.rb
# encoding: UTF-8
system "echo abc=E6=F8=E5"
---

output:
Make sure to set utf-8 console on windows
> chcp 65001 =

> ruby test.rb
abc=C3=A6=C3=B8=C3=A5 =


The expected output is:
abc=E6=F8=E5

Running the following on a command prompt gives the correct output:
> ruby -e "system 'echo abc=E6=F8=E5'"

abc=E6=F8=E5

The problem comes clear when running other Windows commands through command=
 line parameters e.g:
system("notepad.exe abc=E6=F8=E5.txt")

Notepad will complain not finding the file abc=C3=A6=C3=B8=C3=A5.txt instea=
d of abc=E6=F8=E5.txt =


It seems that there is an internal encoding done before running the command.





-- =

https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=3Dunsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>