[ruby-list:50516] Rubyinstaller2ではEncoding.default_externalがUTF-8に決め打ち
From:
俊(とし) <toshio.otaguro@...>
Date:
2017-04-19 12:34:26 UTC
List:
ruby-list #50516
Encodingに関する質問です. 従来,Windows用のRuby実行環境としてRubyinstallerを使用してきました.簡単にインストール出来て一通りの実行環境が揃うので便利でした .ところが最近作者が多忙になり,更新が滞るようになってしまいました.現状は2.3.3p222で止まっています. そこで別の作者が継続を買って出て, Rubyinstaller2なるものがリリースされています.先日,これを用いて2.4.1をインストールしてみてびっくりしました.なんと,Encoding.default_externalがUTF-8に決め打ちされているようなのです.作者の注意書きにもそう書いてあるので,これは意図したものであると思われます.Windowsのコマンドプロンプトからirbを起動して確かめましたが,Windows日本語版なので,localeから決まるEncoding.default_externalはWindows-31Jのはずなのに,UTF-8が返ってきます.これでは,$stdinや$stdoutなどを使うスクリプトの中には期待通りに動かないものが出てくるのではないかと思います. 元の作者によるRubyinstallerではこのようなことはなく,ちゃんとWindows-31Jが返ってきていました. 私は,Rubyの多言語化はCSI方式に基づくと理解していましたが,この作者の理解は異なるようです.私の理解と懸念は当たっていますでしょうか?ご教示いただければ幸いです. -- 俊(とし)