summaryrefslogtreecommitdiff
path: root/lib/fileutils.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/fileutils.rb')
-rw-r--r--lib/fileutils.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/fileutils.rb b/lib/fileutils.rb
index 438f3210f7..371a348159 100644
--- a/lib/fileutils.rb
+++ b/lib/fileutils.rb
@@ -1287,7 +1287,11 @@ module FileUtils
def entries
opts = {}
- opts[:encoding] = fu_windows? ? ::Encoding::UTF_8 : path.encoding
+ if fu_windows? && ::Encoding.compatible?(::Encoding::UTF_8, path.encoding)
+ opts[:encoding] = ::Encoding::UTF_8
+ else
+ opts[:encoding] = path.encoding
+ end
files = if Dir.respond_to?(:children)
Dir.children(path, **opts)