From: Tanaka Akira Date: 2008-07-24T05:56:34+09:00 Subject: [ruby-dev:35644] Re: non-locale filename encoding In article <87d4l4s6te.fsf@fsij.org>, Tanaka Akira writes: >> Shift_JIS ロケールにて UTF-8 なファイルシステムの場合、 >> opendir("."){|dir| puts dir.read.force_encoding("UTF-8") } >> よりも >> opendir(".", :external_encoding=>"UTF-8"){|dir| puts dir.read } >> とした方がスマートであろうと考えました。 > > 上記の例では puts しかしていません。 > そのように表示するだけであれば使用できますが、open などの操 > 作はできないわけですよね。 おっと、:external_encoding だけの指定ならバイト列は変換され ないので open とかもできますね。 :internal_encoding を指定するとだめですが。 > Dir の :external_encoding と :internal_encoding は削除しませ > んか? :internal_encoding については、削除したほうがいいというのは 変わりません。 ところで、Windows で :external_encoding に Unicode でも locale でもない encoding を指定したらどうなるんですが? -- [田中 哲][たなか あきら][Tanaka Akira]