From: "tarui (Masaya Tarui)" Date: 2012-12-15T01:05:15+09:00 Subject: [ruby-dev:46739] [ruby-trunk - Bug #7562] __FILE__ encoding in Windows Issue #7562 has been updated by tarui (Masaya Tarui). 肝心の元報告者の名前の部分がメールの引用から抜けていました。 失礼いたしました。 whiteleaf さんです。 ---------------------------------------- Bug #7562: __FILE__ encoding in Windows https://bugs.ruby-lang.org/issues/7562#change-34745 Author: tarui (Masaya Tarui) Status: Open Priority: Normal Assignee: usa (Usaku NAKAMURA) Category: core Target version: 2.0.0 ruby -v: ruby 2.0.0dev (2012-12-15 trunk 38381) [x64-mswin64_100] [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 よろしくお願いいたします。 -- http://bugs.ruby-lang.org/