こんにちは
石黒と申します。
vine 2.6r1でkernel 2.4.19-0vl26を使用しています。
Windows98のファイルシステムを vfatでマウントしているのですが、そうする
とファイル名の '×'(かける)文字だけが '?' として表示されます。
windows98上で
新規×文書.txt
というファイルが vine linuxでvfatでマウントすると
新規?文書.txt
と見えます。
vfatの日本語ファイル名についてはいろいろ事例があるようでしたが過去の記
事等の検索では同様の問題は見付けられませんでした。
vfatのマウントオプションにはuid, gidの指定だけしております。
cat /etc/fstab
/dev/hda1 /window98 vfat uid=500,gid=500 0 0
少し調べてみたところでは
・linuxでvfat上に×を含むファイル名を作るとやはり?と表示される。
cp /tmp/新規×文書.txt /windows98/temp/
ls /windows98/temp
/windows98/temp/新規?文書.txt
・しかしwindows98で起動して見ると正しく×となっている。
dir c:\temp\
新規×文書.txt
EUC->SJISの変換は正しく行われているようです。
表示の時のSJIS->EUCの変換がおかしいようです。
・マウント時に uni_xlate オプションを付けると?ではなく:00d7と化ける
ls /windows98/temp
/windows98/temp/新規:00d7文書.txt
man mountのvfatのオプションの説明を読むと unicodeに対する対応が無
いことを示しているようです。
このような現象は日本語コード変換の仕様上の問題なのでしょうか。それとも
NLSのコード変換の不具合なのでしょうか。
--
ishiguro