Issue #12841 has been reported by Toshihiko Ichida.

----------------------------------------
Bug #12841: Kernel#exec(cmdname, arg1, ...) passes arg1 that is encoded strangely on Japanese Windows
https://bugs.ruby-lang.org/issues/12841

* Author: Toshihiko Ichida
* Status: Open
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.3.0p0 (2015-12-25 revision 53290) [i386-mingw32] 
* Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
----------------------------------------
Kernel#exec(cmdname, arg1, ...) 形式でプログラムを呼び出す際、argが日本語を含んでいると
化けた文字列が渡されます。
同じ内容を Kernel#excec(cmdline) 形式で呼び出すと問題は発生しません。


直接呼び出す場合は問題なし

~~~
          
> ruby test.rb あ                                    
arg: あ, enc: Windows-31J, bytes: 82-a0             
~~~
cmdline だと問題なし

~~~
> irb                                               
irb(main):001:0> Kernel.exec 'ruby test.rb あ'       
arg: あ, enc: Windows-31J, bytes: 82-a0             
~~~                                                    


cmdname, arg1 だとarg1が文字化けしている。

~~~
> irb                                               
irb(main):001:0> Kernel.exec 'ruby', 'test.rb', 'あ' 
arg: 縺・, enc: Windows-31J, bytes: e3-81-81-45      
~~~

bunlder が Kernel#excec(cmdname, arg1, ...)形式を利用しているため、

~~~
bundle exec mygemprogram 引数
~~~
として作成中にgemを実行する場合、漢字を含む引数が正しく受け取れ
なくなっています。


---Files--------------------------------
test.rb (111 Bytes)


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