From: KUROSAWA Takashi Date: 2000-12-15T06:04:35+09:00 Subject: [ruby-list:26536] ファイル名が文字化け Tabby as くろさわ@秩父です。 既出または解決済みだったらごめんなさい。 メイラ/ニューズリーダの記事ファイルに対して、Ruby で加工をし ようとして気付いたんですが、ファイル名の多バイト文字が化けて しまいます。 具体的に、コマンドラインから "*.mbx" で入力した物を ARGV.each したら、"送信済み.mbx" が Ruby 内では "送仁済み.mbx" になりま す。コマンドライン引数を ARGV.each しても、Dir[path].each し ても、Dir::open(path).each しても同じです(表面的には違っても、 内部的には同じ手順?)。 Shift-JIS で '信' は 0x904D、'仁' は 0x906D なので、glob が英 大文字に該当する文字を小文字化しようとしている感じです。 そこで試しにと、Shift-JIS の多バイト文字全部に対して… f = open(fname, "w") f.close exist?(fname) …をして調べた所、2バイト目が 0x41..0x5A と 0x5C の時に文字 化けする事が判りました。上記手順で、作ったばかりなのに存在し ない事になってしまっています。 dir.c を眺めてみたんですが、どこを直せばいいのかは判りません でした。 ただ、"送信トレイ.mbx" は化けずに処理出来ていて、8.3 形式を超 えれば問題がない様です。 今の所は sub(/送仁/, "送信") でしのいでいます :-) Ruby は  ・ruby 1.4.4 (2000-04-14) [i386-djgpp] (バイナリで落とした物)  ・ruby 1.6.1 (2000-09-27) [i386-msdosdjgpp] (自前 make) 環境は  ・Windows98 の DOS 窓  ・Windows98 の MS-DOS モード です。   Tabby as くろさわ   tabby@yk.rim.or.jp   http://www.yk.rim.or.jp/~tabby/