From: rubikitch@... Date: 2008-01-31T01:25:30+09:00 Subject: [ruby-dev:33540] File.read(filename, :encoding => "Shift_JIS:EUC-JP") るびきちです。 File.read / File.readlinesで :encoding => "enc1:enc2"と指定できると open との整合性が取れると思います。 Encoding.default_external # => # open("sjis.txt", "r:Shift_JIS:EUC-JP"){|f| f.read } # => "日本語\n" File.open("sjis.txt", "r:Shift_JIS:EUC-JP"){|f| f.read } # => "日本語\n" s = File.read("sjis.txt", :encoding => "Shift_JIS:EUC-JP") # => "日本語\n" s.encoding # => # s = File.readlines("sjis.txt", :encoding => "Shift_JIS:EUC-JP") # => ["日本語\n"] Index: io.c =================================================================== --- io.c (revision 15347) +++ io.c (working copy) @@ -5853,7 +5853,7 @@ arg->io = rb_io_open(RSTRING_PTR(argv[0]), "r"); GetOpenFile(arg->io, fptr); - fptr->enc = rb_to_encoding(v); + mode_enc(fptr, StringValueCStr(v)); return; } } -- rubikitch Blog: http://d.hatena.ne.jp/rubikitch/ Site: http://www.rubyist.net/~rubikitch/