From: "U.Nakamura" Date: 2008-06-06T16:24:10+09:00 Subject: [ruby-dev:34969] Re: open() and encodings こんにちは、なかむら(う)です。 In message "[ruby-dev:34966] Re: open() and encodings" on Jun.06,2008 15:58:14, wrote: > > いいわけですが、それより前のsambaはについては、えーと、2.2と > > かのsambaでWindowsから見て不正な文字列となるファイル名のファ > > イルをW系APIで一意にアクセスする方法があったら誰か教えてくだ > > さい、って感じです。 > > name mangling をオフにすると、Samba3 系でも不正なファイル名なファイルを > 提供できます。たとえば、: とか " とかが混入していたり、"." で終わったり > するやつ。(UNIX 的には正当だが Windows 的には不正) > > ばっちしファイル一覧に出てきますし、エクスプローラ上でもファイルの存在は > 見えますが、アクセスすることはできませんし、ファイル名の変更もファイルの > 移動もできません。ファイルが見つかりませんとか、ファイル名が不正ですとか > のエラーになります。 > > なので、不正なバイト列のファイルが提供されたとしたら、しれっとファイル名 > に ? が混入(MultiByteToWideChar() が置換する)し、ファイルは見えるがア > クセスできず、な状態が作り出されて終わりかと思います。 情報ありがとうございます。 見えるということはつまりなんか壊れたファイル名自体は取れると いうことですよねえ、エラー発生でなく。 rubyはどうするべきなんでしょうね。 それでは。 -- U.Nakamura 同じにしようと思ってはいたんだけどね