macOS – Terminalを使いCSVファイルの文字化けを直す
エクセルファイルの初期設定では文字コードがShift-JISコードに設定されていることが多く、macでcsvファイルを開くと文字化けがされていることが多い。
なので、この文字化けを直すにはShift-JISからUTF-8に変更する必要があるのでTerminalを使って文字コードを変更する方法を解説します。
手順
ここでは郵便番号データを例として解説をしていきます。都道府県一覧から適当なzipファイルをダウンロードして試してみてください。
Terminalの起動
前提として文字コードを変更したいCSVファイルはダウンロードに配置しています。
ターミナルを起動しダウンロードディレクトリに移動します。
% cd Downloadsダウンロードディレクトリに移動できたらzipファイルを解凍します。zipファイルを解凍するにはunzipコマンドを使用します。
% unzip 01hokkai.zip下記のような表示が出れば解凍ができています。
Archive:  01hokkai.zip
  inflating: 01HOKKAI.CSV次にcsvファイルの文字コードを確認します。文字コードを確認したい場合下記のコマンドで確認できます。
% file --mime 01HOKKAI.CSVまたは
% file -I 01HOKKAI.CSVfileコマンドの--mimeと-IのオプションはMIMEタイプの文字列を出力してくれます。上記のコマンドを実行結果は下記のように表示されると思います。
01HOKKAI.CSV: text/csv; charset=unknown-8bitcharset=unknown-8bitはファイルの文字コードの種類を示し、Shift-JISコードであると示しています。この文字コードを変換するにはiconvコマンドを使用します。
% iconv -f shift_jis 01HOKKAI.CSV > hokkai.CSV01HOKKAI.CSVファイルのデータを複製し新たにhokkai.CSVというファイル名で作成しています。SHIFT-JISからUTF-8に変換する方法は以上です。