Ruby 初心者スレッド Part 15

このエントリーをはてなブックマークに追加
233デフォルトの名無しさん
以前、goo、OKwave で質問したんですが、やっぱり納得いかなくなりました。
2chでまた質問させてください。

Windows上でRuby使っています。
NetBeansで勉強していて、ファイルはすべてUTF-8で書くようにしています。
以下のコードのように、あるファイルを保存するプログラムを書いて、
日本語ファイル名で保存したとき(この場合、ファイル名はUTF-8の文字列になるんですよね。)、
(1)と、(2)で同じファイル名の出力を期待しているんですが、名前が変わってしまいます。なぜでしょうか。
Windows上では、ファイル名はShift-JISなどに変換してから保存しないとうまくいかないのでしょうか。
RubyがUTF-8扱えないのか、Windowsの問題なのか。もし後者なら、Linuxマシンを調達しようかと考えてます。

saving_folder = "C:/testrubyfolder/"
filename = "ユニコードです"
puts filename #←(1)
open(saving_folder + filename , "w"){|file|
file << "test"
}
puts Dir.entries(saving_folder) #←(2)