BLOG

ブログ
  • Web制作

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

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コマンドで簡単に文字コードの変換が可能です。