MacのExcelでCSVファイルを開く際、ファイルの文字コードがUTF-8だった場合、以下の画像のように文字化けしてしまうことがあります。
テキストエディタでCSVファイルを開けば文字化けはしませんが、どうしてもExcelで開きたい時はありますよね。
この記事では、上記のように文字化けしないよう、CSVファイルの文字コードをUTF-8からShift-JISに変換する方法を3つ紹介します。
1. テキストエディタで変換する
Macにデフォルトで入っている「テキストエディット.app」を使用する方法です。
ファイルを複製し、別名保存時にエンコーディングを指定する、一番難しくない方法です。
しかし、以下のように「Shift JIS」の文字コードがグレーアウトして選択できなかったり、ファイル保存時にエラーがでて保存ができない場合があります。
これは、ファイル内にいわゆる機種依存文字等があり、エンコードできない文字が含まれているためです。
その場合は以下の方法を試しましょう。
2. ターミナルからコマンドを使う方法
ターミナルはいわゆる黒い画面(CUI※)となり、すこしとっつきにくいかもしれませんが、慣れれば難しくはありません。
※CUI(Character User Interface)…主にテキスト入力のみで操作をするインターフェースのこと。
対して、マウス等を使いアイコンやボタンなどを操作する入力画面はGUI(Graphic User Interface)という。
2-1. iconvコマンドを使う
ファイルに対し、様々な国の文字コードに変換できるiconvコマンドを使います。
-
ターミナルを起動し、該当のファイルがある階層にcdコマンドで移動します。
(以下はデスクトップに「test_utf8.csv」ファイルがある場合)cd ~/Desktop
-
iconvコマンドを使い、変換元(-f)と変換後(-t)の文字コードおよびファイル名を以下のように指定します。
(-cは「変換できなかった文字を出力しない」オプション)iconv -c -f utf-8 -t shift-JIS test_utf8.csv > test_shiftjis.csv
- デスクトップに生成された「test_shiftjis.csv」ファイルをExcelで開き、文字化けしていなければ変換成功です。
ちなみに、文字コードだけでなく、textutilという、ファイル形式も変換できるコマンドを使う方法もあります。
【参考】参考なんとなくコマンド(37) macOSのtextutil, iconvで文字コードを変換する | TECH+(テックプラス)
2-2. nkf(Network Kanji Filter)を使う
また、日本語の文字変換のみに特化したソフトである、nkf(Network Kanji Filter)を使ってもiconv同様のことが可能です。
Network Kanji Filter – Wikipedia
-
nkfはターミナルを使ってインストールします(数分ほどかかる場合があります)。
brew install nkf
※brewコマンドが使えない場合はHomebrewのインストールが必要です。
-
iconvと同様、該当のファイルがある階層にcdコマンドで移動した後、以下のように指定します。
(-sはshift-jisに変換するオプション。UTF-8に変換する場合は-w)nkf -s test_utf8.txt > test_shiftjis.txt
※(-g)を使うと、既存の文字コードを確認できます。
-
デスクトップに生成された「test_shiftjis.csv」ファイルをExcelで開き、文字化けしていなければ変換成功です。
また、nkfでは複数のファイルを同時に変換することも可能です。
詳しい使い方は以下の記事を参考にしてみてください。
以上、MacでCSVファイルの文字コードをUTF-8からShift-JISに変換する方法を紹介しました。
コメントする