エンコーディングは地味に未解決の問題ですよね。文字化けしたシートを開くととても不思議な気持ちになります。今日はnkfを使用してコマンドラインからエンコーディングを変更する方法についての記事です。
環境
nkfは入れましたか?
ターミナルを起動してbrewで nkf
をインストールしておきましょう。nkfとはNetwork Kanji Filterの頭文字みたいです。nkfを使えばcsvの文字コードと改行コードをさくっと変更できます。
これで準備完了です。
nkfの使い方
シートはShift JISだけど、インポートするときはUTF-8でなきゃならないとかありますよね。以下のようにエンコーディングを変更します。
# 文字コードと改行コードを調べる
% nkf --guess test.csv
Shift_JIS (CRLF)
# Shift JISをUTF-8に変換して上書き
% nkf -w --overwrite test.csv
# Shift JISをUTF-8に変換して別ファイルに出力
% nkf -w test.csv > test_utf8.csv
# 改行コードをLFにする
% nkf -Lu --overwrite test.csv
# 改行コードをLFにする
% nkf -Lw --overwrite test.csv