同樣的,在檔案系統上面也有中文內碼的問題。你會常常看到一堆像這樣:
Comment: ���EP - ȫ����Demo������ ww
的東西在中文電腦裡頭跑出來,在 MS Windows 的機器裡頭可能會少點機會,但是一出現就沒辦法處理,開機時還會被 scandisk 處理掉。在 Linux 系統上面沒有檔名沒有辦法處理的問題,但是一樣會跑出來像上面的亂碼,讓你看不懂這個東西是什麼。然而,開源軟體有它的生命存在,自然會找到它的出路。在 Linux 上面,除了 convmv 可以使用之外,我喜歡用 sshfs 的 iconv 模組來處理 big5 到 utf8 的轉碼問題。一來因為是 fuse 的 mount point ,所以不會一動作就不能回復,二來,可以處理上面同時有 utf8,big5 等多重字碼的情況,應該可以說是最有彈性的處理方式。
使用方法是:
sshfs -omodules=iconv,from_code=CP950,allow_other anton@localhost:/home/anton/遠端目錄 /home/anton/近端目錄/
allow_other 這個 option 是讓近端的其它使用者也可以使用這個 mount point ,如果有安全上的考量,可以不要加上去。如果 sshfs 有警告,通常是把 /etc/fuse.conf 裡面的 allow_other 這個選項打開就可以了。