[#70257] [Ruby trunk - Feature #11420] [Open] Introduce ID key table into MRI — ko1@...

Issue #11420 has been reported by Koichi Sasada.

11 messages 2015/08/06

[ruby-core:70222] [Ruby trunk - Bug #11412] [Rejected] Filename encoding issues (Windows)

From: usa@...
Date: 2015-08-03 02:07:41 UTC
List: ruby-core #70222
Issue #11412 has been updated by Usaku NAKAMURA.

Status changed from Open to Rejected

It's spec.
Dir.foreach returns the filenames with the filesystem encoding (in your environment, it may be cp850) for backword compatibility.

You can specify encoding option to Dir.foreach:

~~~ruby
Dir.foreach('.', encoding: 'utf-8') do |entry|
~~~


----------------------------------------
Bug #11412: Filename encoding issues (Windows)
https://bugs.ruby-lang.org/issues/11412#change-53650

* Author: Daniel Frank
* Status: Rejected
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.2.2p95 (2015-04-13 revision 50295) [x64-mingw32]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
Ruby is apparently unable to find files it just told me are there (containing japanese characters).
Demo code:
Dir.foreach('.') do |entry|
	puts "#{entry} exists? " + File.exist?(entry).to_s
end

Output:
C:\tmp\test\filenames>C:\tmp\rubybackup\ruby-2.2.2-x64-mingw32\bin\ruby.exe test.rb
. exists? true
.. exists? true
a.md exists? true
b.txt exists? true
test.rb exists? true
???.txt exists? false

Directory contents according to cmd.exe/dir:
02.08.2015  22:18    <DIR>          .
02.08.2015  22:18    <DIR>          ..
02.08.2015  22:04                 0 a.md
02.08.2015  22:04                 0 b.txt
02.08.2015  22:20                87 test.rb
02.08.2015  22:04                 0 ???.txt

The undisplayable filename contains japanese characters and should read: 小悪党.txt

C:\tmp\test\filenames>chcp
Active code page: 850

Attached zip file contains all files necessary to see the problem (with the exception of the script the files have a size of zero bytes).

---Files--------------------------------
filenames.zip (611 Bytes)


-- 
https://bugs.ruby-lang.org/

In This Thread

Prev Next