[samba-jp:20392] Re: Vine 3.2、Windows、Proftpd、Samba混合環境の文字化けについて
Takashi Yano
TYANO @ jp.ibm.com
2008年 9月 26日 (金) 08:05:53 JST
あまり好ましいとは思いませんが、Linux側の自分のログインセッションのロケー
ルをシフトJISにすればいいだけだと思います。LANGにja_JP.Shift_JISと設定すれ
ばいいのではないでしょうか。
YANO Takashi
Internet: tyano @ jp.ibm.com
From:
J K <shogijunki @ yahoo.co.jp>
To:
Samba ML <samba-jp @ samba.gr.jp>
Date:
2008/09/26 02:19
Subject:
[samba-jp:20391] Vine 3.2、Windows、Proftpd、Samba混合環境の文字化けについ
て
初めまして、コンピュータ専門学校に通う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 メーリングリストの案内