なかむら(う)さま

ありがとうございます。理解しました。

WindowsのRubyの場合、インストーラによっては
環境変数RUBYOPTでutf-8が指定されてしまうのでそれは削除してあります。

$ set rubyopt
環境変数 rubyopt が定義されていません

$ c:\tools\ruby27\bin\ruby.exe -e "print Encoding.locale_charmap"
CP932
$ c:\tools\ruby30\bin\ruby.exe -e "print Encoding.locale_charmap"
CP932
$ c:\tools\ruby30\bin\ruby.exe -e "print Encoding.default_external"
UTF-8
$ c:\tools\ruby27\bin\ruby.exe -e "print Encoding.default_external"
Windows-31J

ところで -Ks オプションはまだ残っているようで、これを使うと
openに引数をつけてまわるよりもだいぶ楽ですが、
いまさらこれに頼るのはあまりよろしくないでしょうか。
$ c:\tools\ruby30\bin\ruby.exe -Ks -e "print Encoding.default_external"
Windows-31J