Actions
Bug #12841
closedKernel#exec(cmdname, arg1, ...) passes arg1 that is encoded strangely on Japanese Windows
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.3.0p0 (2015-12-25 revision 53290) [i386-mingw32]
Description
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
Updated by nobu (Nobuyoshi Nakada) over 7 years ago
- Status changed from Open to Closed
Applied in changeset r56424.
process.c: use uaspawn
- process.c (proc_exec_cmd): use UTF-8 version aspawn.
[ruby-dev:49838] [Bug #12841]
Actions
Like0
Like0