山下寛人オフィシャルブログ

オイシックス株式会社 執行役員 システム本部長 山下寛人の公式ブログです。

共有フォルダ上のファイルがMacで開けない時

会社内でWindowsMacでファイルを共有しているとまれにMacでファイルが開けないときがあります。ExcelファイルなどをFinderから開こうとすると、ファイルが見つからないといったエラーになります。ローカルにコピー&ペーストしようとしても同様です。ターミナルでlsコマンドでファイルを表示させることはできます。しかしcpコマンドでコピーしようとするとやっぱりファイルが見つかりません。

こういうファイルの特徴はMac側ではわかりませんが、Windowsコマンドプロンプトでdirで表示させてみると、濁点・半濁点が分かれています。例えば通常であれば「プラン.txt」というふうになっていますが、Macから開けないファイルは「フ゜ラン.txt」というふうになっています。

なぜこういうふうになるかというと、調べてみたところ、MacWindowsもファイル名はUTF-8ですが、濁点・半濁点の扱いが違うようです。Macは濁点・半濁点は分けて管理しています。Windowsは分けないで濁点・半濁点が1文字に含まれる形で管理しています。

通常のファイルのやり取りは濁点・半濁点を含むファイルでも問題なくやり取りできているので、ファイルサーバーがこの変換をしていると考えられます。オイシックスではファイルサーバーはQNAPを使っています。なので内部的にはsambaです。

しかしどういうわけかWindowsから見て濁点・半濁点が別れた形でファイル名ができてしまう場合があり、その場合にMacからアクセスしに行ったときにsamba内部で濁点・半濁点をくっつけてしまい実際のファイル名と一致しなくなり、ファイルが見つからないというエラーになっていると予想できます。

いろいろ試した結果再現できました。
Macで濁点・半濁点含むファイルを作成→gmailで送信→Windowschromeでメールを受信、添付ファイルを保存→濁点・半濁点が別れたファイル名になる→共有フォルダに置く

google drivewindowsに渡した場合はちゃんと変換されました。

ではこういうふうになってしまったファイルはどうしたらよいか。nfd2cというプログラムをwindows側から動かすと変換できました。
d.hatena.ne.jp
無事Macでファイルを開けるようになりました。

Mac側から何とかする手段はちょっと思い当たらないです。なんせファイルが見えないので。

MacWindowsのファイル名の濁点・半濁点を統一するか、gmailでダウンロードするときに変換するか、sambaでうまいこと対応するか、してもらいたいです。ここまで調べるの大変でした。