
Ubuntu日本語フォーラム

ログインしていません。
ubuntuでフォーマット(vfat)したUSB-HDDにファイル(動画など)にコピーしました。
それをwindowsXPにUSBでつなげると、日本語ファイル名とフォルダ名が文字化けします。
文字コードの差異とは分かるのですが、もう元には戻せないのでしょうか?
ご教授のほどよろしくお願いします。
オフライン
UTF-8なファイルだったら、XPをUTF-8に合わせるってことじゃないと、外付けHDDの相互乗り入れは難しいのでは?
Linuxだったらconvmvを使って、一気にファイル名の文字コードを変更できますが、HDD付け替える度にやるのも面倒ですよね。XP側が根本的に対応してないと。
XPのUTF-8対応方法とかツールは、ちょと分かりません。
Vistaだったら、UTF-8に対応していたと思いますが。。。
とりあえず両方で使えれば良いということなら、ファイル名をアルファベットにしてしまうとか。
Vistaにアップグレードするとか。 <-今更って感じも・・・
オフライン
ファイル名 文字化け 修復 とかで検索すると、Windows 用のツールがいくつか出てくるようですので、ダメモトでそれらを使用してみてはどうでしょうか?
zagan さんの仰るとおり、ファイル名に日本語は使わない方が無難ですよ。
オフライン
ubuntuから正常に表示できるなら、まずは、別の場所に退避させてください。
固定的にマウントするのであれば、fstabにcp932指定で設定しておけばよいかと思いますが、
ホットプラグで使う場合、halと衝突しないかが気になります。
# 上記を検証したいと思うのですが、早くて今週末ぐらいになるので、現時点では参考程度に見ておいて下さいです。。
オフライン
適切なマウントオプションを記述する事によって、日本語ファイル名でも相互に運用可能になります。
日本語を使うことになんの問題もありません。
sudo mount -t vfat デバイス名 マウント先 -o -o codepage=932,iocharset=utf8
でマウントオプションを設定する事により問題なく日本語ファイル名が扱えます。
#お昼なんで取り急ぎ。
オフライン
訂正。「-o」がダブっていました。「-o」は一個です。orz
#連投規制機能があるとは><
オフライン
検証はまだしてませんが、楽な方法があったので、投稿してみます。
http://www.linuxfromscratch.org/blfs/view/cvs/general/hal.html
に、codepageを指定する方法が載っていて、gconf-editorでデフォルトのマウントオプションを指定できるらしいです。
#5でyamaさんが書かれたように、codepage=932,iocharset=utf8を追加でよいかと思います。
より、halに近い側で、hal-set-propertyを使う方法もあるっぽいですが、まだ、manすらちゃんと読んでいません。。
ただ、いずれにしても少しだけ気になるのが、
https://forums.ubuntulinux.jp/viewtopic.php?id=1016
とそこで触れられている、
https://bugs.launchpad.net/ubuntu/+source/dosfstools/+bug/49217
で、vfatと日本語の組み合わせは面倒臭いことになる可能性も無いでも無いかな、と。
自動マウントでなければ、fsckも走らないと思うので大丈夫かも知れませんが。。
上記を実行した場合、cp932では無く(おそらく)utf8になっている現在のファイル名は読めなくなってしまうので、その前にデータを退避しておいて下さい。
もしくは、後からconvmvで修正するかです。convmvは#2でzaganさんが紹介して下さったブログの記事か、manコマンドで確認して下さい。
個人的にはntfsの方が良いような気がします。
オフライン