更新ストップします。
roadtoalinuxmintuser

theming

roundup
Linux Mint Tips: Windows 由来のファイルの文字化けの対処法 01:39

なぜ文字化けが起きるのか


Windows で作成された zip ファイルは Shift-JIS でエンコードされているため、Linux ではこのファイルを UTF-8 で開こうとして文字化けを起こしてしまいます:


今回はこの文字化けを解決する方法をシェアします。

unzip


まず、すでにシステムに備わっている unzip を使って解凍するには以下のように実行します:
unzip -O shift-jis ファイル名
とくに、ワーキングディレクトリをホームから移動していなければ、ファイルはホームディレクトリに解凍されます。

毎回毎回unzip -O shift-jisと入力するのは面倒なので unzip-jp で解凍できるようにエイリアスを作成しておくと便利です。~/.bashrc に以下を追記します:
alias unzip-jp='unzip -O shift-jis'

~/.bashrc を読み込みます:
source ~/.bashrc
以降以下のように実行すれば解凍できます:
unzip-jp ファイル名

unar


unzip を使う他、unar を使う方法も有ります。デフォルトでは入っていないのでインストールします。
Ctrl
+
Alt
+
T
を押して端末を起動します。
端末へコマンドをペーストするには
Ctrl
+
Shift
+
V
を押します。
次のコマンドを実行します:
sudo apt install -y unar
このツールは文字コードを自動で判断して解凍してくれます:
unar ファイル名

右クリックメニューに追加


ただ、ファイルを解凍するためだけに端末を起動するのは少々ナンセンスです。更に一歩進めて、右クリックメニューから解凍できるようにしましょう。やり方はファイルマネージャーに依存します。

Cinnamon


右クリックメニューに項目を追加するための準備をします。必要なファイルのテンプレを所定のフォルダーにコピーします:
cp /usr/share/nemo/actions/sample.nemo_action ~/.local/share/nemo/actions/avoidmojibake.nemo_action
コピーしたファイルをテキストエディターで開きます:
xed ~/.local/share/nemo/actions/avoidmojibake.nemo_action
以下を追記します:
[Nemo Action]
Active=true
Name=文字化け回避
Comment=unar %F
Exec=unar %F
Icon-Name=gnome-mime-application-x-compress
Selection=any;
Extensions=zip;rar;7z
Quote=double



難点として解凍先がホームディレクトリになってしまいます。

Xfce


Thunar を起動したら [ 編集 ] -> [ アクションの設定 ]:


開いたウィンドウの [ + ] ボタンをクリックします:

コマンドには以下を入力します。名前やアイコンは好きに指定してください:
unar %F


[ 登場する条件 ] タブ下で、[ その他のファイル ] にチェックを入れます:


書庫を右クリックすれば、表示されるメニューに作成した項目があるはずです:


MATE


MATE では Bash スクリプトを ~/.config/caja/scripts に配置することで、右クリックメニューに項目を追加できます。

  1. まず、ファイラーで ~/.config/caja/scripts までアクセスし、右クリックメニューより [ ドキュメントの作成 ] -> [ 空のファイル ] をクリックします。名前はここでは「avoidmojibake.sh」とします。

  2. 中身は以下をコピー&ペーストします:
    #!/bin/bash
    for arg
    do
    unar "$arg"
    done
    exit 0

  3. 保存したらファイルに実行権限を与えます:
    sudo chmod a+x ~/.config/caja/scripts/avoidmojibake.sh

テキストファイルの文字化け


Windows のテキストファイルは CP932 CR+LF で保存されている場合が有り、これを Linux で UTF-8 LF と誤って開くことで文字化けが起こります。Windows 7 以降ではメモ帳でも UTF-8 で保存されるようになり文字化けすることはほとんどなくなりましたが、cat でテキストファイルの中身を表示した時に文字化けが起こることがあります:


そういう時は以下のことを試してみましょう。

nkf は自動文字コード認識機能や文字コード変換機能があります:
sudo apt install -y nkf
CP932 CR+LF -> UTF-8 LF に変換するには以下のコマンドを実行します。-w は UTF-8 で、-d は改行コードを LF で出力することを意味しています:
nkf -wd 文字化けを起こすテキストファイル.txt > out.txt
ちゃんと表示されるようになりました:


逆に Linux でテキストファイルを作成し Windows に送りたい場合で、文字コードを Shift JIS、改行コードを CR+LH にしたい場合は以下のようにします:
nkf -sc Linuxで作成したテキストファイル.txt > out.txt
| Linux |
<< NEW | TOP | OLD>>
スポンサーサイト 01:39
| - |

Show some apps list:


miku

Follow on your feed reader:


About this blog:

Linux Mint-centric chronicle with anime girls since 2009.Best View with Google Chrome 1980x1080 dimension.
Info 更新ストップします。

script

LinuxMint ISO 日本ミラーサーバー:




Amazon: