sambaの文字化け対策

手元のUbuntuサーバーからLandiskに接続してみるとlandisk内部のファイル日本語名が文字化けする。以前使っていたサーバーだとこんな事は無かったので調査(今更感がもりもりするが..)

原因は、samba3系から文字コードの指定が変わったためらしい。調べてみるとサーバにいれてあるsambaは3.0.28a-1ubuntu4.7だったので、まさに該当するバージョン。

ということでsamba3系の文字コードを設定してみる。まずは、/etc/samba/smb.confに次の設定を追加

[global]
dos charset = CP932
unix charset = UTF8
display charset = UTF8

dos,unix,displayという項目に分かれてそれぞれ文字コードをしてするようになったのがポイントっぽい。

後は、マウントしてみる。

sudo mount -t smbfs -o username=namae,password=pass,iocharset=utf8 //landisk/disk1 /opt2/landisk/

引数でcodepage=cp932を指定すると書かれているものもけっこうあったけど、そのオプションは私の環境では解釈されずにignoreされていたので外してある。

この設定でマウントすると文字化けがなく表示されて、一安心。