csvのエンコーディングをnkfでさくっと変更して文字化けをどうにかしよう

エンコーディングは地味に未解決の問題ですよね。文字化けしたシートを開くととても不思議な気持ちになります。今日はnkfを使用してコマンドラインからエンコーディングを変更する方法についての記事です。

環境

  • macOS
  • ターミナル

nkfは入れましたか?

ターミナルを起動してbrewで nkf をインストールしておきましょう。nkfとはNetwork Kanji Filterの頭文字みたいです。nkfを使えばcsvの文字コードと改行コードをさくっと変更できます。

brew install nkf

これで準備完了です。

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

ここまで読んでいただき、ありがとうございます。もしこの記事の技術や考え方に少しでも興味を持っていただけたら、ネクストのエンジニアと気軽に話してみませんか。

  • 選考ではありません
  • 履歴書不要
  • 技術の話が中心
  • 所要時間30分程度
  • オンラインOK

エンジニアと話してみる