[#45910] [ruby-trunk - Bug #6694][Open] Thread.new without block. — "ko1 (Koichi Sasada)" <redmine@...>

24 messages 2012/07/04

[#45913] [ruby-trunk - Bug #6698][Open] MacOSXではDir.globが返すファイル名の内容はUTF8-MACですがencodingがUTF-8になっている — "imkira (Mario Freitas)" <imkira@...>

10 messages 2012/07/04

[#45933] [ruby-trunk - Bug #6716][Open] FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT エラーになる — "tommy (Masahiro Tomita)" <tommy@...>

8 messages 2012/07/10

[#45976] [ruby-trunk - Bug #6756][Open] FileUtils.rm_rf がアクセス権のない空ディレクトリを削除しない — "fumiyas (Fumiyasu SATOH)" <fumiyas@...>

9 messages 2012/07/20

[#46012] [ruby-trunk - Feature #6812][Open] Refactor gc.c — "authorNari (Narihiro Nakamura)" <authorNari@...>

13 messages 2012/07/30

[ruby-dev:45914] [ruby-trunk - Bug #6698] MacOSXではDir.globが返すファイル名の内容はUTF8-MACですがencodingがUTF-8になっている

From: "imkira (Mario Freitas)" <imkira@...>
Date: 2012-07-04 10:43:36 UTC
List: ruby-dev #45914
Issue #6698 has been updated by imkira (Mario Freitas).


redmineのcode blockを使ってみましたが、表示おかしくなりましたT_T
----------------------------------------
Bug #6698: MacOSXではDir.globが返すファイル名の内容はUTF8-MACですがencodingがUTF-8になっている
https://bugs.ruby-lang.org/issues/6698#change-27796

Author: imkira (Mario Freitas)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 1.9.3
ruby -v: ruby 1.9.3dev (2011-08-02 revision 32803) [x86_64-darwin10.8.0]


MacOSXでは、「だ」など濁点が含まれているファイル名をDir.globで調べると返ってくるencodingが間違っているようです。

=begin
(({Dir.glob('*.{jpg,png}') do |filename|
 puts "#{filename} #{filename.encoding}" 
end
}))

「だ」というファイル名はUTF-8というencodingを使った"\u305F\u3099"と返ってきます。

表示的に"\u305F\u3099"を"\u3060"と比較すれば同じものなんですが、それぞれ違うencodingになっているため当然比較は失敗します。

Dir.globが返したfilenameを下記のようにすると正常に比較が出来るようになります。

(({filename = filename.force_encoding("UTF8-MAC").encode("UTF-8")}))

これって、Dir.globの不具合ですかそれとも正しい動きですか?


-- 
http://bugs.ruby-lang.org/

In This Thread