Issue #6698 has been reported by imkira (Mario Freitas). ---------------------------------------- Bug #6698: MacOSXではDir.globが返すファイル名の内容はUTF8-MACですがencodingがUTF-8になっている https://bugs.ruby-lang.org/issues/6698 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の不具合ですかそれとも正しい動きですか?
on 2012-07-04 12:42
on 2012-07-04 12:44
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の不具合ですかそれとも正しい動きですか?
on 2012-07-04 13:50
Issue #6698 has been updated by sorah (Shota Fukumori). Description updated ---------------------------------------- Bug #6698: MacOSXではDir.globが返すファイル名の内容はUTF8-MACですがencodingがUTF-8になっている https://bugs.ruby-lang.org/issues/6698#change-27797 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] =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
on 2012-07-04 13:50
Issue #6698 has been updated by sorah (Shota Fukumori). imkira (Mario Freitas) wrote: > redmineのcode blockを使ってみましたが、表示おかしくなりましたT_T 直しておきました。RD のフォーマットを有効にするには =begin, =end で囲う必要があります (RDボタンを押すとそれで全体が囲われるはずです) ---------------------------------------- Bug #6698: MacOSXではDir.globが返すファイル名の内容はUTF8-MACですがencodingがUTF-8になっている https://bugs.ruby-lang.org/issues/6698#change-27798 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] =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
on 2012-07-04 16:22
Issue #6698 has been updated by imkira (Mario Freitas). ありがとうございました。 こちらの良く使うredmineのバージョンでは、Updateリンクを推してMoreというリンクが出てそこで編集できます。 このredmineのバージョンではMoreというリンクが存在しないので編集しませんでしたT_T ---------------------------------------- Bug #6698: MacOSXではDir.globが返すファイル名の内容はUTF8-MACですがencodingがUTF-8になっている https://bugs.ruby-lang.org/issues/6698#change-27805 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] =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
on 2012-07-04 16:55
Issue #6698 has been updated by sorah (Shota Fukumori). File utf8_mac_for_filesystem_encoding_on_osx.diff added Assignee set to naruse (Yui NARUSE) 仮に不具合として、OS X 環境では UTF8-MAC にするパッチを添付します。 imkira (Mario Freitas) wrote: > このredmineのバージョンではMoreというリンクが存在しないので編集しませんでしたT_T more は適切な権限がないと見えないみたいですね。 ---------------------------------------- Bug #6698: MacOSXではDir.globが返すファイル名の内容はUTF8-MACですがencodingがUTF-8になっている https://bugs.ruby-lang.org/issues/6698#change-27807 Author: imkira (Mario Freitas) Status: Open Priority: Normal Assignee: naruse (Yui NARUSE) Category: Target version: 1.9.3 ruby -v: ruby 1.9.3dev (2011-08-02 revision 32803) [x86_64-darwin10.8.0] =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
on 2012-07-05 03:10
Issue #6698 has been updated by nobu (Nobuyoshi Nakada). NO_LOCALE_CHARMAPはminiruby用に必須なので、その外に条件を追加するのはダメです。 ---------------------------------------- Bug #6698: MacOSXではDir.globが返すファイル名の内容はUTF8-MACですがencodingがUTF-8になっている https://bugs.ruby-lang.org/issues/6698#change-27815 Author: imkira (Mario Freitas) Status: Open Priority: Normal Assignee: naruse (Yui NARUSE) Category: Target version: 1.9.3 ruby -v: ruby 1.9.3dev (2011-08-02 revision 32803) [x86_64-darwin10.8.0] =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
on 2012-07-05 05:39
Issue #6698 has been updated by kosaki (Motohiro KOSAKI). OS X じゃないMacはもうサポートしてないしサポートを復活させるのも技術難易度的に不可能だと思うので #if defined(__APPLE__) && ( defined(__MACH__) || defined(__DARWIN__) ) は __APPLE__ だけでいいと思います。いま grepした感じだと現在のリポジトリで7割ぐらいは__APPLE__だけ、残り3割が__MACH__とのAND条件、process.c に1つだけ旧Macの考慮が残っている感じっぽい ---------------------------------------- Bug #6698: MacOSXではDir.globが返すファイル名の内容はUTF8-MACですがencodingがUTF-8になっている https://bugs.ruby-lang.org/issues/6698#change-27820 Author: imkira (Mario Freitas) Status: Open Priority: Normal Assignee: naruse (Yui NARUSE) Category: Target version: 1.9.3 ruby -v: ruby 1.9.3dev (2011-08-02 revision 32803) [x86_64-darwin10.8.0] =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
on 2012-07-05 08:45
Issue #6698 has been updated by sorah (Shota Fukumori). File utf8_mac_for_filesystem_encoding_on_osx2.diff added patch 更新しました ---------------------------------------- Bug #6698: MacOSXではDir.globが返すファイル名の内容はUTF8-MACですがencodingがUTF-8になっている https://bugs.ruby-lang.org/issues/6698#change-27823 Author: imkira (Mario Freitas) Status: Open Priority: Normal Assignee: naruse (Yui NARUSE) Category: Target version: 1.9.3 ruby -v: ruby 1.9.3dev (2011-08-02 revision 32803) [x86_64-darwin10.8.0] =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
on 2012-07-05 09:10
Issue #6698 has been updated by naruse (Yui NARUSE). Status changed from Open to Rejected imkira (Mario Freitas) wrote: > MacOSXでは、「だ」など濁点が含まれているファイル名をDir.globで調べると返ってくるencodingが間違っているようです。 > > Dir.glob('*.{jpg,png}') do |filename| > puts "#{filename} #{filename.encoding}" > end > > 「だ」というファイル名はUTF-8というencodingを使った"\u305F\u3099"と返ってきます。 > > これって、Dir.globの不具合ですかそれとも正しい動きですか? 正しい動きです。 Ruby 1.9 当初はまさに imkira さんの期待なさっている通り UTF8-MAC で返していたのですが、 それだと今回の濁点やアクセント記号を含んでいない場合に UTF-8 と異なるせいで色々不便なので、 r23308 にて UTF-8 で返すように変更しました。 ので、これは意図的なので、後述の通り変換してください。 > 表示的に"\u305F\u3099"を"\u3060"と比較すれば同じものなんですが、それぞれ違うencodingになっているため当然比較は失敗します。 同じエンコーディングでも普通に比較すれば違うものなので失敗するので、どちらにしろ変換しないとダメなのです。 > Dir.globが返したfilenameを下記のようにすると正常に比較が出来るようになります。 > > filename = filename.force_encoding("UTF8-MAC").encode("UTF-8") ちなみにこれは filename.encode!("UTF-8", "UTF8-MAC") と書けます。 ---------------------------------------- Bug #6698: MacOSXではDir.globが返すファイル名の内容はUTF8-MACですがencodingがUTF-8になっている https://bugs.ruby-lang.org/issues/6698#change-27824 Author: imkira (Mario Freitas) Status: Rejected Priority: Normal Assignee: naruse (Yui NARUSE) Category: Target version: 1.9.3 ruby -v: ruby 1.9.3dev (2011-08-02 revision 32803) [x86_64-darwin10.8.0] =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
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.