Bug #6698
Updated by sorah (Sorah Fukumori) over 12 years ago
MacOSXでは、「だ」など濁点が含まれているファイル名をDir.globで調べると返ってくるencodingが間違っているようです。 =begin MacOSXでは、「だ」など濁点が含まれているファイル名をDir.globで調べると返ってくるencodingが間違っているようです。 Dir.glob('*.{jpg,png}') (({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 = filename.force_encoding("UTF8-MAC").encode("UTF-8") filename.force_encoding("UTF8-MAC").encode("UTF-8")})) これって、Dir.globの不具合ですかそれとも正しい動きですか? =end