- Web制作
MacのターミナルでCSVファイルの文字コードをUTF-8からShift-JISに変換する方法

目次
はじめに
WordPressでエクスポートしたCSVファイルをエクセルなどで開いてみると日本語部分が文字化けしている。というのはよくあることです。
この文字化けを直すにはファイルの文字コードを「UTF-8」→「Shift JIS」に変更する必要があります。
以前の記事でテキストエディット.appを使って文字コードを変更する方法を書きました。
ただまれにファイルを保存する際に「〜保存できませんでした。 指定されたテキストエンコーディングには対応していません。」というエラーメッセージが表示されて、テキストエディット.appでは文字コードの変更ができない場合があります。

そういった場合にはMacの場合、ターミナルを使って文字コードの変更ができます。
ターミナルを使って文字コードを変更
では、具体的にUTF-8のCSVファイルをShift-JISに変換する方法です。
1. まずはターミナルを起動し、該当のcsvファイルがある階層にcdコマンドで移動します。
例)デスクトップに「csv」フォルダがある場合:
cd /Users/username/Desktop/csv
Macのターミナルの場合、cd
の後にデスクトップにある「csv」フォルダをターミナルウインドウにドラッグ&ドロップすれば簡単に「csv」フォルダまで移動するコマンドを打ち込めます。
2. UTF-8のCSVファイルをShift-JISに変換するコマンドを打ちます。
iconv -c -f utf-8 -t shift-JIS input.csv > output.csv
-c
:変換できなかった文字を出力しない-f utf-8
:元のファイルの文字コードを指定します。-t shift-JIS
:変換後の文字コードを指定します。input.csv
:変換したい元ファイル。output.csv
:変換後に出力するファイル名。
このコマンドを実行すると、「output.csv
」という新しいファイルが作成され、その中身はShift-JISに変換されています。
逆にShift-JISのCSVファイルをUTF-8に戻すには:
iconv -c -f shift-JIS -t utf-8 output.csv > output_utf8.csv
このコマンドを実行すると、「output_utf8.csv
」という新しいファイルが作成され、その中身はUTF-8に変換されています。
注意点として、そもそも元ファイルの文字コードが分からない場合は、ターミナルで確認できます。
元ファイルの文字コードを確認する
元のファイルが本当にUTF-8かどうかを確認するには、以下のようにfile
コマンドを使うと便利です:
file -I input.csv
出力結果の中に「charset=utf-8」と書かれていれば「input.csv」の文字コードはUTF-8です。

まとめ
このようにMacのターミナルを使えば、テキストエディット.appでは文字コードの変更ができない場合でも iconv
コマンドで簡単に文字コードの変換が可能です。

名古屋の Web 制作会社で 9 年半働いた後フリーランスに。中小企業のWEBサイト制作実績 100 サイト以上。ディレクション、デザイン、コーディング、WordPress 構築まで手掛けます。主にWeb系の情報をお届けします。