[samba-jp:20391] Vine 3.2、Windows、Proftpd、Samba混合環境の文字化けについて

J K shogijunki @ yahoo.co.jp
2008年 9月 26日 (金) 02:18:22 JST


 初めまして、コンピュータ専門学校に通うJ Kと申します。
Linuxは趣味で高校3年生ぐらいからかじっている程度で、まだまだ学ぶ事は多いです。

 早速本題に入ります。
SambaとProftpdで同じディレクトリを共有してもWindowsのエクスプローラから見た時に、FTP経由でアップロードされたファイルが文字化けしない様にしたいが為だけに、Sambaの文字コードの設定をわざと本来と違う設定にして長い間
使ってきたのですが、Linux側から見ると全部文字化けして見えるので
本腰を挙げて解決したくて、投稿致します。
詳細は下記です。

Vine Linux 3.2をCDから最小インストール後、SambaとProftpdをインストール
し、/etc/samba/smb.confの文字コードの設定をunix charsetはデフォルト
のまま(EUCJP-MSだったと思いますが、もしかするとEUC-JPだったかもしれません)、それ以外は
-----
[global]
	unix charset = EUCJP-MS ←デフォルト値
	dos charset = CP932
	display charset = locale
-----
上記のように設定し、Windowsから文字化けせずに正常に読めることを確認後
Proftpdの公開ディレクトリをSambaで公開しているディレクトリと同じ場所
に設定し、WindowsのFFFTPから読んでみました。
すると予想外な事に文字化けしており、またFFFTPからファイルをアップロード
するとWindowsのエクスプローラからSamba経由で見た時に文字化けすると言う
お互いに文字化けする現象が発生してしまいました。
当時文字コードについてよく分かっておらず、めちゃくちゃな設定
-----
[global]
	unix charset = CP932 ←コレがめちゃくちゃな設定
	dos charset = CP932
	display charset = locale
-----
をする事によって、FFFTPからでもSamba経由でも両方から見てお互いに
文字化けしない状態を作り上げてしまいました。
Linux側から文字化けしている事など全く気づかずにWindowsから正常に見えてさえいれば
それで問題ないと思っていました。
本来はunix charset = EUCJP-MSで、FFFTPの文字コードの設定を変えてアクセスするなり
http://www.hakusan.tsg.ne.jp/tjkawa/software/misc/proftpd-iconv/index.jsp
上記パッチを適用するなりして対応するべきところでした。

 そんな誤った設定のまま4年程運用を続けてきました。その結果Windowsからは
正しく読めますがVine Linux側からすると文字化けした状態でファイルが
次から次へと保存され、大量な文字化けファイル群が出来上がってしまいました。
私が実行したい事は、コレを本来の正しい姿に戻す事(具体的には
unix charset = EUCJP-MS でProftpdの方をパッチ適用するなりして対応する事)
なのですが、このような特殊な事例は過去ログを見ても載ってませんでしたし、Googleで検索しても事例が事例なだけに
参考になる記事はありませんでした。
また、OSをVineからDebianに乗り換えたいとなると、OSの持つ文字コードが
EUC-JPからUTF-8になるので、その際にもLinuxから見て正常にファイル名が
読める状態でないと移行するのは不可能だと考えております。

 今この状況で # vi /etc/samba/smb.conf で unix charset = CP932になっているのを
unix charset = EUCJP-MSに変更してSambaを再起動すると、Sambaから見ても
FFFTPから見ても文字化けしてしまいますが、その状態にして 誤った文字コード
で保存されてしまっている大量のファイル群の文字コードを正しい文字コード
(この場合はEUC-JPだと思います)に変換する上手い方法はないでしょうか?
自分のしでかした過ちに長年悩み続けております。どうかご教示よろしくお願い致します。

 下記、環境です。
OS: Vine Linux 3.2
Kernel Version: 2.4.33-0vl0.9

-----
Samba: samba-3.0.14a-0vl0.5
OSの文字コード:
-----
$ echo $LANG
ja_JP.eucJP
-----

現在のSambaの文字コード設定:
-----
[global]

	unix charset = CP932
	dos charset = CP932
	display charset = locale
-----

FFFTPの文字コード設定: Shift-JIS(デフォルト値)

以上です。何か足りない情報など御座いましたらご指摘頂けると幸いです。
-- 
J K <shogijunki @ yahoo.co.jp>
--------------------------------------
Enjoy MLB with MAJOR.JP! Ichiro, Matsuzaka, Matsui, and more!
http://pr.mail.yahoo.co.jp/mlb/



samba-jp メーリングリストの案内