2011年03月14日

tarを展開するときに、ファイル名の日本語エンコードを変換するオプション

Vine Linux 4.2 で稼動していたサーバ PC に、突然電源が入らなくなってしまいました。ずいぶん古い PC だったので、あきらめてバックアップからデータだけ取り出して、別のサーバに移行することにしました。

ここで困ったのが、日本語ファイル名の扱い。バックアップデータは tar.gz で圧縮して保存していました。これを Windows 上に持ってきて 7-Zip を使って解凍してみると、日本語のファイル名がおかしなものになりました。

おそらく、日本語ファイル名の文字コードが異なるためでしょう。Vine 4.2 上では EUC-JP、Windows 上では Shift_JIS ですね。(ちなみに、Vine 5.x は UTF-8 になっていますね)

さてどうしようか。使えるのは Windows マシンしかない。ファイル名の文字コード変換といえば convmv ですが、Windows 上でも正常に動くのかどうかよく分かりません。調べてみると、よい解決方法がありました。

TAR32.DLL は、V2.34 以降で --convert-charset というファイル名文字コードを変換するオプションが使えるそうです。TAR32.DLL 付属の minitar.exe ツールで以下のように実行したら OK でした。

minitar.exe -x --convert-charset=eucjp hoge.tar.gz


素晴らしいツールを公開してくださっている開発者の方に感謝です。また、私はこの情報を以下で知りました。情報を公開してくださって感謝です。

UTF-8のLinuxで作成したtar.gzをWindowsで解凍すると日本語ファイル名が文字化ける : ::yossy.blog::

posted by usami-k at 12:12| Comment(0) | TrackBack(0) | 雑文 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。