Actions
Bug #11699
closedWindows環境の日本語入力で不正な文字が混入する
Status:
Third Party's Issue
Assignee:
-
Target version:
-
ruby -v:
ruby 2.2.3p173 (2015-08-18 revision 51636) [i386-mingw32]
Description
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"
入力した通りの文字が出力されることが期待されますが、
"あ"の場合はエラーになり、"い"の場合は"い「"となったります。
Updated by usa (Usaku NAKAMURA) over 8 years ago
私の手元では再現しないので、何かruby外の要因があるような気がします。
どなたか再現条件がわかる人はいませんか。
Updated by h1kb (Taro YAMADA) over 8 years ago
再現条件は特定できませんでしたが、他のバージョンでも試してみました。
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さんの問題ですかね
Updated by usa (Usaku NAKAMURA) over 8 years ago
私の手元では、rubyinstallerのものでも、自前でビルドしたものでも、現象を再現できていません。
Updated by h1kb (Taro YAMADA) over 8 years ago
- Assignee set to h1kb (Taro YAMADA)
原因がわかりました。
ansiconをインストールしていたのが良くなかったみたいです。
アンインストールしたところ、正常に出力されました。
C:\>ruby -e "p gets"
あ
"あ\n"
お騒がせしました。
Updated by h1kb (Taro YAMADA) over 8 years ago
- Assignee deleted (
h1kb (Taro YAMADA))
Updated by usa (Usaku NAKAMURA) over 8 years ago
- Status changed from Open to Third Party's Issue
Actions
Like0
Like0Like0Like0Like0Like0Like0