nkf で出力したファイルの日本語が文字化けしたときに見直すこと

nkf は異なる OS 間でファイルのやり取りをするために、文字コードや改行コードなどを変管理できるコマンドラインツールです。

nkf -Lu FILE_NAME #改行コードをLFにする
nkf -Lu -w FILE_NAME #改行コードをLFにしてUTF-8コードを出力する(BOMなし)

nkf を使って日本語を含んだファイルを指定した際に文字化けすることがありました。

原因

nkf のデフォルトでは入力ファイルの扱いを自動で決めます。 そのため、入力ファイル本来の文字コードと違う文字コードとしてファイルが処理されてしまたっため日本語が化けてしまったようでした。

対応方法

入力に関するオプションを追加して、入力ファイルの処理を指定した形式で行うように変更します。

例えば 入力を UTF-8 として処理させたい場合は -W を指定します。

nkf -w -Lu -W FILE_NAME #入力を UTF-8 と仮定(-W)して、改行コードをLFで出力する

参考

【 nkf 】コマンド――文字コードと改行コードを変換する:Linux基本コマンドTips(51) - @IT