Project

General

Profile

Bug #6698

Updated by sorah (Sorah Fukumori) over 8 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

Back