[ruby-dev:49360] [Ruby trunk - Bug #11699] Windows環境の日本語入力で不正な文字が混入する
From:
h10000b@...
Date:
2015-11-17 07:22:54 UTC
List:
ruby-dev #49360
Issue #11699 has been updated by Taro YAMADA.
再現条件は特定できませんでしたが、他のバージョンでも試してみました。
http://rubyinstaller.org/downloads/ からDLした7zのバイナリです。
~~~
C:\ruby>ruby-1.9.3-p551-i386-mingw32\bin\ruby.exe -e "p gets"
あ
"あ\n"
C:\ruby>ruby-2.0.0-p647-i386-mingw32\bin\ruby.exe -e "p gets"
あ
"あ\n"
C:\ruby>ruby-2.1.7-i386-mingw32\bin\ruby.exe -e "p gets"
あ
"あ-e:1:in `p': Invalid argument @ io_write - <STDOUT> (Errno::EINVAL)
from -e:1:in `<main>'
C:\ruby>ruby-2.2.3-i386-mingw32\bin\ruby.exe -e "p gets"
あ
"あ-e:1:in `p': Invalid argument @ io_write - <STDOUT> (Errno::EINVAL)
from -e:1:in `<main>'
~~~
http://www.artonx.org/data/asr/ からDLした.msiのバイナリです。
~~~
C:\ruby>Ruby-2.2-i386-mswin32_100\bin\ruby.exe -e "p gets"
あ
"あ\n"
~~~
*もしかしてRubyInstallerさんの問題ですかね*
----------------------------------------
Bug #11699: Windows環境の日本語入力で不正な文字が混入する
https://bugs.ruby-lang.org/issues/11699#change-54892
* Author: Taro YAMADA
* Status: Open
* Priority: Normal
* Assignee:
* ruby -v: ruby 2.2.3p173 (2015-08-18 revision 51636) [i386-mingw32]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
getsで受け取った文字列をpで出力するだけのワンライナーをcmd.exeから実行します。
~~~
C:\>ver
Microsoft Windows [Version 6.1.7601]
C:\>ruby -v
ruby 2.2.3p173 (2015-08-18 revision 51636) [i386-mingw32]
C:\>ruby -e "p gets"
あ
"あ-e:1:in `p': Invalid argument @ io_write - <STDOUT> (Errno::EINVAL)
from -e:1:in `<main>'
C:\>ruby -e "p gets"
い
"い「\n"
~~~
入力した通りの文字が出力されることが期待されますが、
"あ"の場合はエラーになり、"い"の場合は"い「"となったります。
--
https://bugs.ruby-lang.org/