読者です 読者をやめる 読者になる 読者になる

Corredor

ウェブ、プログラミングの勉強メモ。

Linux 上でテキストファイルのエンコードを指定して開く方法アレコレ

Linuxコマンドブック ビギナーズ 第4版 (コマンドブックシリーズ)

Linuxコマンドブック ビギナーズ 第4版 (コマンドブックシリーズ)

Linux 上でサーバログを見ようとしたら、なぜかエンコード方式が EUC-JP だったらしく、文字化けしてしまった。

そこで、文字コードを指定してテキストファイルを開く方法を3つ紹介する。

Vim で開いたファイルのエンコードを後から変える

Vim でファイルを開いたら文字化けしていた、そんな時は以下のように Vim コマンドを打つとその場でエンコード方式を変更できる。

:e ++enc=euc-jp

これでファイルを EUC-JP 形式で表示できる。

ターミナル自体のエンコードを変える

コンソールで以下を直接打つ。

LANG="ja_JP.euc-JP"

本来は /etc/sysconfig/i18n などに記載されているロケールの設定だが、コンソール上で書き換えてしまうことで一時的にエンコーディングを変更できる。

これでエンコーディングを変更したあとにファイルを開けば、文字化けせずに表示できる。

Tail -f でログを見る時にエンコードを変える

大抵の Linux 環境には nkf という文字コードを変換するコマンドがあるはずなので、これをパイプで繋げて UTF-8 に対応させて出力させれば良い。

tail -f HOGE.log | nkf -u -w

nkf -u は出力をバッファしないオプション。

そういえば tail -f じゃなくて tailf というコマンドもあるのね。そして情強は less +F を使うんだとか…?

以上。コマンドラインでアレコレやれるの良いね~