2009年3月13日金曜日

日本語ファイル名の文字化け

WindowsやMacで作成したCD-R(isoフォーマット)をDebianでマウントすると日本語ファイル名が文字化けしてしまうことがあります。これは文字コードの違いによるものです。
文字化けしているだけならばまだいいのですが、それによりアクセスできないフォルダやファイルが出てきてしまいます。例えばWindowsやMacでは10フォルダあるのにDebianでは7フォルダしか見えない等ということもあります。
そこで /etc/fstab ファイルの設定を書き換えてDebianでもWindowsやMacで作成したCD-R(isoフォーマット)の日本語ファイル名を表示出来る方法を紹介します。

まず設定ファイルを開きます。

$ gksu gedit /etc/fstab

設定ファイルの次の行を変更します。
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0

user,noautoの後に,utf8を以下のように追加し、保存します。
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto,utf8 0 0

これでWindowsやMacで作成したCD-R(isoフォーマット)でも日本語ファイル名を文字化けせずに表示してくれます。

他には圧縮ファイルで解凍したファイルの日本語ファイル名が文字化けしている場合があります。そんな時は「convmv」を使用すればファイル名を正常に変換してくれます。
まずは「convmv」を「Synapticパッケージマネージャ」等を使いインストールします。
「convmv」はコマンドラインのソフトなので「GNOME端末」から以下のコマンドを実行します。

$ convmv -r -f sjis -t utf8 ディレクトリまたはファイルをフルパスで指定 --notest
-fの後が変換前の文字コード、-tが変換後の文字コードです。

$ convmv --list
対応文字コードの一覧が表示されます。

$ convmv -r -f sjis -t utf8 ディレクトリまたはファイルをフルパスで指定
--notestオプションを外すと実際の変換はおこなわれずに変換後のファイル名を端末に表示します。

文字化けしたディレクトリやファイルは「GNOME端末」で指定できないことが多いので新たにフォルダを作成し、そこに変換したいファイルを移動して指定すると良いです。

日本語ファイル名の文字化けはDebianで作成したファイルを文字コードの違う他のプラットフォームに渡した場合にも起こります。その場合はあらかじめ英数字のファイル名を使用した方がトラブルが少なくて済むと思います。英数字は各文字コード共通なので文字化けは起こりません。

0 件のコメント:

コメントを投稿