From: "grafi (Shunsuke Shimizu)" Date: 2013-02-22T19:00:19+09:00 Subject: [ruby-dev:47068] [ruby-trunk - Bug #7911][Open] 特定の条件の時に、File.fnmatchに渡すpatternがUS-ASCII、pathがUTF-8だとInvalid sequenceでエラーが出る Issue #7911 has been reported by grafi (Shunsuke Shimizu). ---------------------------------------- Bug #7911: 特定の条件の時に、File.fnmatchに渡すpatternがUS-ASCII、pathがUTF-8だとInvalid sequenceでエラーが出る https://bugs.ruby-lang.org/issues/7911 Author: grafi (Shunsuke Shimizu) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 2.0.0dev (2013-02-22 trunk 39383) [x86_64-darwin12.2.1] =begin # coding: utf-8 File.fnmatch('a'.encode('US-ASCII'), 'あ', File::FNM_CASEFOLD) というコードを実行した際に、 test-fnmatch.rb:2:in `fnmatch': invalid byte sequence in US-ASCII (ArgumentError) from test-fnmatch.rb:2:in `
' というエラーが発生します。UTF-8文字列である'あ'を、'a'と同じUS-ASCIIだとしてcase insenstiveなマッチのためにupcaseを試みているのがエラー原因と思われます。 添付のパッチで動作するようになることを確認しました。 =end -- http://bugs.ruby-lang.org/