smbmount/cifs を用いた UTF8EUC のファイル名変換
- うちの鯖は未だにeucを使ってます。諸所の事情があって、、、ネットを色々探索しましたが、webdav の SJIS<->EUC 変換は、ソースにパッチを当てる作業からやらんとどうも無理くさい。しかし、セキュリティアップデートを機敏に察知して、tar玉からコンパイルなんて面倒な作業私には無理。
- てなわけで UTF8<->EUC のファイル名変換なわけですが、ファイルを書き換えずに動的にやるには、smbmount でUTF8を使っているディレクトリをマウントしてしまうのが一番お手軽そうだと言うことで採用。
- smb.conf の文字コード設定は、unix charset = UTF-8, dos charset = CP932, display charset = CP932 で問題ない.ここで問題は dos charset だが、クライアント側がeucでもCP932(sjis)と設定して問題ないっぽい.
- 以下が重要.cifs のマウントオプション.
mount -t cifs //192.168.x.x/utf8_dir /mnt/euc_dir -o username=hoge,codepage=utf8,iocharset=euc-jp,rw