Project

General

Profile

Actions

Bug #6698

closed

MacOSXではDir.globが返すファイル名の内容はUTF8-MACですがencodingがUTF-8になっている

Added by imkira (Mario Freitas) over 11 years ago. Updated over 11 years ago.

Status:
Rejected
Target version:
ruby -v:
ruby 1.9.3dev (2011-08-02 revision 32803) [x86_64-darwin10.8.0]
Backport:
[ruby-dev:45913]

Description

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

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の不具合ですかそれとも正しい動きですか?
=end


Files

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0