Bug #7562
closed__FILE__ encoding in Windows
Description
[ruby-list:49085] ですが、bugっぽいので勝手にバグ登録させていただきます。
trunkでも同じでした。
Ruby2.0.0 の挙動について疑問があるので質問させて頂きます。
WindowsXP上のコンソールからパスに日本語を含むスクリプトを起動した場合に、
FILE のエンコーディング(String#encoding がではなくデータ的な意味で)
が UTF-8 になるのは仕様変更なのでしょうか。(コンソールから指定した部分だけが化ける)
(実行バイナリは arton さんの http://www.artonx.org/data/asr/Ruby-2.0.0.msi を使用)
テストスクリプト(D:\日本語\あいうえお.rb)¶
f0 = File.expand_path($0)
puts "$0:#{f0},#{f0.encoding}"
file = File.expand_path(FILE)
puts "FILE:#{file},#{file.encoding}"
■パターン1(ファイルだけ指定)
D:\日本語>ruby -v あいうえお.rb
ruby 2.0.0dev (2012-11-01) [i386-mswin32_100]
$0:D:/日本語/あいうえお.rb,Windows-31J
FILE:D:/日本語/縺ゅ>縺・∴縺・rb,Windows-31J
■パターン2(フルパスで指定)
D:\日本語>ruby -v D:\日本語\あいうえお.rb
ruby 2.0.0dev (2012-11-01) [i386-mswin32_100]
$0:D:/日本語/あいうえお.rb,Windows-31J
FILE:D:/譌・譛ャ隱・縺ゅ>縺・∴縺・rb,Windows-31J
■参考(Ruby1.9.3)
jobs:0 $ ruby -v あいうえお.rb
ruby 1.9.3dev (2011-05-08) [i386-mingw32]
$0:D:/日本語/あいうえお.rb,Windows-31J
FILE:D:/日本語/あいうえお.rb,Windows-31J
よろしくお願いいたします。