ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

nkf を使って文字コードの変換を行う

文字コードの変換はいつも大変です。自分の場合は、よくメールの文章を取り込むようなシステムの開発で遭遇するのですが、ヘッダとボディの文字コードが合ってない等々(エンコーディングの指定情報が欠落していたり、コードの指定が間違っていることがある為)で...
そんな時に、調査用としてよくnkfコマンドを利用します。

メールで文字化けがあったときに考えられることとしては、「送信する側で設定した文字コード」と「受信する側で設定している文字コード」が異なっていると、または送信側で意図した文字を受信側で正しく表示することができずに、文字化けを起こしてしまうことなどが考えられます。
nkfコマンドを使うと簡単に文字コードの確認ができるため重宝してます。

nkf は文字コードを変換するコマンドです。
Network kanji Filter の略のようです。
ja.wikipedia.org

自分がよく使うものをまとめてみました。

オプション 説明
-g 文字コードの判別
-w utf-8 変換
-e euc-jp 変換
-s shift-jis 変換

使い方

文字コード判別
  • g オプションにファイル名を渡してあげると文字コードを判別してくれます。
$ nkf -g {FILE}
ファイルの上書き(utf-8変換)
    • overwrite オプションを指定すると、変換結果でファイルを置き換えることができます。
$ nkf --overwrite -w {FILE}