diff options
-rw-r--r-- | lib/fileutils.rb | 2 | ||||
-rw-r--r-- | test/fileutils/test_fileutils.rb | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/lib/fileutils.rb b/lib/fileutils.rb index 04788e26ca..baa3d184b0 100644 --- a/lib/fileutils.rb +++ b/lib/fileutils.rb @@ -1290,7 +1290,7 @@ module FileUtils def entries opts = {} - opts[:encoding] = ::Encoding::UTF_8 if fu_windows? + opts[:encoding] = path.encoding files = if Dir.respond_to?(:children) Dir.children(path, **opts) diff --git a/test/fileutils/test_fileutils.rb b/test/fileutils/test_fileutils.rb index ca435ed1ff..4951ca47fc 100644 --- a/test/fileutils/test_fileutils.rb +++ b/test/fileutils/test_fileutils.rb @@ -741,6 +741,17 @@ class TestFileUtils < Test::Unit::TestCase assert_file_not_exist 'tmp/tmpdir3' end + def test_remove_entry_cjk_path + dir = "tmpdir\u3042" + my_rm_rf dir + + Dir.mkdir dir + File.write("#{dir}/\u3042.txt", "test_remove_entry_cjk_path") + + remove_entry dir + assert_file_not_exist dir + end + def test_remove_entry_secure check_singleton :remove_entry_secure |