LinuxのFlash Playerでは動画の字幕やゲーム内のテキストが文字化けを起こすことがあります。
日本語環境においてのこの不具合はかなり前からあるものでUbuntuフォーラム等でも何度か取り上げられて解決策も示されています。
OSを新規インストールした場合などには文字化け対策の作業が必要となるので備忘録として手順を書き留めておきたいと思います。
文字化けの原因はFlash Playerで「AR PL Uming」という中国語フォントが設定されているためです。
そこでfonts-arphic-umingをインストール後にフォントキャッシュをクリア、日本語フォントで置き換えるという方法を取ります。
$ sudo apt-get install fonts-arphic-uming
$ sudo fc-cache -fv
$ cd /usr/share/fonts/truetype/arphic
$ sudo cp -p 任意の日本語フォント uming.ttc
上記の手順を実行後、文字化けを起こしていた動画やゲームで確認します。
文字化けが解消されていれば成功です。
2009年5月5日火曜日
zipファイルの文字化け
他環境からDebianにファイルを持ってきた場合、文字コードの違いから日本語ファイル名が文字化けすることがあります。対処法としては以前このブログでも紹介した「convmv」を使い変換する方法があります。しかし、zipファイルから解凍したファイルには「convmv」で変換しても文字化けが直らないものがあります。
通常Debianでzipファイルを解凍するには「unzip」を使用します。「unzip」は解凍の際に文字コードを自動的に変換する機能を有していてるのですが、これが曲者で強制的にラテン語ベースで変換を行ってしまうらしいのです。これにより日本語のファイル名が破損し「convmv」で変換しても文字化けが直らないのです。当然これはバックエンドとして「unzip」を使用している「書庫マネージャー」(File-Roller)でも起こります。
対処法としては「unzip」のソースを書き換えて文字コードを変換する機能を無効にする等があるようですが、自分には些か敷居が高いです(´・ω・`)
色々考えた末に「unzip」の問題なのだから「unzip」以外でzipファイルを解凍すればいいことに気づきました。そこで最初に「p7zip-full」を試してみましたがやはり上手く生きません。更に色々と調べてようやくたどり着いたのが、jarコマンドを使う方法です。
jarはJavaARchiveと言ってJava環境で使用されるファイル形式ですが、実際はzipファイルです。
Debian5.0 (Lenny)ではJava環境があらかじめインストールされているのでjarコマンドをそのまま使用することが出来ます。
$ jar xvf zipファイルを指定
解凍後に $ convmv -r -f sjis -t utf8 ディレクトリをフルパスで指定 --notest で変換
以上で見事文字化けが直りました\(> <)/
この「unzip」による日本語ファイル名の不具合は周知の事実のようで、姉妹ディストリであるUbuntuでは既に「unzip」の修正版があるようです。zipファイルは普及率も高く使用する機会も多いのでDebianでも早く修正されることを期待しています。
通常Debianでzipファイルを解凍するには「unzip」を使用します。「unzip」は解凍の際に文字コードを自動的に変換する機能を有していてるのですが、これが曲者で強制的にラテン語ベースで変換を行ってしまうらしいのです。これにより日本語のファイル名が破損し「convmv」で変換しても文字化けが直らないのです。当然これはバックエンドとして「unzip」を使用している「書庫マネージャー」(File-Roller)でも起こります。
対処法としては「unzip」のソースを書き換えて文字コードを変換する機能を無効にする等があるようですが、自分には些か敷居が高いです(´・ω・`)
色々考えた末に「unzip」の問題なのだから「unzip」以外でzipファイルを解凍すればいいことに気づきました。そこで最初に「p7zip-full」を試してみましたがやはり上手く生きません。更に色々と調べてようやくたどり着いたのが、jarコマンドを使う方法です。
jarはJavaARchiveと言ってJava環境で使用されるファイル形式ですが、実際はzipファイルです。
Debian5.0 (Lenny)ではJava環境があらかじめインストールされているのでjarコマンドをそのまま使用することが出来ます。
$ jar xvf zipファイルを指定
解凍後に $ convmv -r -f sjis -t utf8 ディレクトリをフルパスで指定 --notest で変換
以上で見事文字化けが直りました\(> <)/
この「unzip」による日本語ファイル名の不具合は周知の事実のようで、姉妹ディストリであるUbuntuでは既に「unzip」の修正版があるようです。zipファイルは普及率も高く使用する機会も多いのでDebianでも早く修正されることを期待しています。
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で作成したファイルを文字コードの違う他のプラットフォームに渡した場合にも起こります。その場合はあらかじめ英数字のファイル名を使用した方がトラブルが少なくて済むと思います。英数字は各文字コード共通なので文字化けは起こりません。
文字化けしているだけならばまだいいのですが、それによりアクセスできないフォルダやファイルが出てきてしまいます。例えば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で作成したファイルを文字コードの違う他のプラットフォームに渡した場合にも起こります。その場合はあらかじめ英数字のファイル名を使用した方がトラブルが少なくて済むと思います。英数字は各文字コード共通なので文字化けは起こりません。
登録:
投稿 (Atom)