MacでCSVの文字コードを変更する方法|文字化けを直す手順をやさしく解説

AI・IT

こんにちは!しーぷ@しがないシステムエンジニア♀です!

MacでCSVファイルを開いたとき、日本語やカラム名が文字化けしてしまったことはありませんか。

私は、楽天証券の取引履歴をNotionに取り込もうとしたとき、CSVのカラム名が文字化けしていて、インポート処理が思うように進まなかったことがありました。以下の画像は実際に処理が進まなかったときの画面です。

「ファイルが壊れているのかな?」

と不安になったんですが、原因を調べていくと、CSVの中身そのものではなく、文字コードの読み取り方が合っていない可能性があるとわかりました。

この記事では、私の備忘録も兼ねてMacでCSVやテキストファイルの文字コードを変更する方法を、初心者向けにやさしく整理します

「UTF-8」「Shift_JIS」という言葉に苦手意識がある方でも大丈夫です。

まずは元ファイルをコピーして、画面操作で試せる方法から順番に確認していきましょう。

MacでCSVが文字化けする原因

文字コードが合っていないと日本語が正しく表示されない

CSVが文字化けしていると、つい「ファイルが壊れたのかも」と思ってしまいます。

でも実際には、ファイルの中身が壊れているのではなく、ファイルの文字コードと、開くアプリ側の読み取り方が合っていないだけの場合があります。

文字コードとは、ざっくり言うと「文字をコンピューター上で扱うためのルール」のようなものです。

日本語の「あ」「い」「う」などの文字も、ファイルの中では一定のルールに沿って保存されています。

よく出てくる文字コードには、たとえば次のようなものがあります。

  • UTF-8
  • Shift_JIS
  • EUC-JP

このうち、最近のWebサービスやMacではUTF-8が使われることが多いです。

一方で、古くから使われている業務システムやWindows向けのCSVでは、Shift_JISが使われていることもあります。

ファイル側はShift_JISなのに、アプリ側がUTF-8として読み込もうとすると、日本語が正しく表示されず、文字化けしてしまうことがあります。

つまり、CSVが文字化けしているときは、まず「中身が壊れている」と決めつけず、文字コードの読み取りが合っていないだけかもしれないと考えてみると安心です。

MacとWindows・業務システムで想定する文字コードが違うことがある

MacではUTF-8がよく使われますが、Windowsや一部の業務システム、証券会社・会計サービスなどから出力されるCSVでは、Shift_JISが使われていることがあります。

そのため、Windowsでは問題なく開けるCSVでも、MacやNotionなどに取り込もうとすると、日本語の列名やデータが文字化けすることがあります。

たとえば、楽天証券の取引履歴CSVをNotionに取り込もうとしたとき、カラム名が文字化けしていて、インポート処理がうまく進まないことがありました。

このとき、最初はNotion側の問題かなと思ったのですが、CSVをよく見るとカラム名自体が正しく読めていませんでした。

そこで文字コードを変換してから取り込むと、カラム名が読みやすくなり、原因の切り分けがしやすくなりました。

このように、CSVの文字化けは「Macだからダメ」「Notionだからダメ」というより、CSVを作った環境と、読み込む環境で想定している文字コードが違うことで起きる場合があります。

作業前にまず確認したいこと

元のCSVをコピーしてから作業する

文字コードを変更する前に、まず元のCSVファイルをコピーしておきましょう。

文字コード変換は便利ですが、変換時に保存形式が変わったり、うまく変換できなかったりすることもあります。

元ファイルを直接上書きしてしまうと、あとから戻したいときに困るかもしれません。

おすすめは、次のような流れです。

  1. 元のCSVファイルを右クリックする
  2. 「複製」を選ぶ
  3. 複製したファイル名を「test.csv」「converted.csv」などに変える
  4. 複製したファイルで文字コード変換を試す

Mac初心者の方は、まず**「元ファイルは触らず、コピーで試す」**と覚えておくと安心です。

文字コードを確認する方法

文字コードを確認したい場合は、ターミナルで次のようなコマンドを使う方法があります。

file -I ファイル名.csv

たとえば、デスクトップにあるsample.csvを確認したい場合は、ターミナルでファイルのある場所に移動してから実行します。

cd ~/Desktop
file -I sample.csv

結果として、charset=utf-8charset=shift_jisのような表示が出ることがあります。

ただし、Mac初心者にとってターミナルは少しハードルが高く感じるかもしれません。

文字コードの確認が難しい場合は、無理にここで止まらなくても大丈夫です。

まずは次に紹介するテキストエディットやNumbersなど、画面操作で試しやすい方法から進めてみてください。

方法1:テキストエディットで文字コードを変えて保存する

テキストエディットでCSVを開く

追加アプリを入れずに試したい場合は、Mac標準アプリのテキストエディットを使う方法があります。

CSVは表計算ソフトで開くイメージがあるかもしれませんが、中身はテキストファイルです。

そのため、テキストエディットでも開けます。

手順の一例は次のとおりです。

  1. 変換したいCSVファイルを複製する
  2. 複製したCSVファイルを右クリックする
  3. 「このアプリケーションで開く」から「テキストエディット」を選ぶ
  4. 日本語が正しく表示されるか確認する

もし文字化けしたまま表示される場合は、開き方や保存時のエンコーディング設定を見直す必要があります。

保存時に文字コードを選ぶ

テキストエディットでは、設定や保存時の操作によって、標準テキストのエンコーディングを選べる場合があります。

手順の一例は次のとおりです。

  1. 画面下部またはオプション内に「標準テキストのエンコーディング」が表示される場合は、文字コードを選ぶ
    • 文字化けしているCSVを読み直したい場合:Shift_JIS日本語(Shift JIS)Windows, Japanese などを試す
    • Notionや多くのWebサービスに取り込みたい場合:保存時に UTF-8 を選ぶ
  2. ファイルが文字化けせずに開けるか確認する
  3. 保存する場合は、「ファイル」→「保存」または「別名で保存」を選ぶ
  4. 保存時にエンコーディングを選べる場合は、目的に合わせて UTF-8 などを選ぶ
  5. 変換後のファイルを、Notion・Excel・Numbersなど実際に使いたいアプリで開いて確認する

macOSのバージョンによって表示されるメニュー名が少し違うことがありますが、一般的には「標準テキストのエンコーディング」や「別名で保存」などの項目から文字コードを指定します。

たとえば、NotionやWebサービスに取り込みたい場合は、UTF-8で保存し直すと扱いやすいことがあります。

反対に、WindowsのExcelで開く人に渡したい場合は、Shift_JISの方が文字化けしにくいケースもあります。

ただし、テキストエディットでの操作は環境によって見え方が変わるため、うまくいかない場合は無理にこだわらず、次のNumbersやターミナルの方法も試してみてください。

方法2:NumbersでCSVを開いて確認する

Excelで文字化けするCSVをNumbersで開いてみる

MacにNumbersが入っている場合は、NumbersでCSVを開いてみるのもひとつの方法です。

NumbersはApple純正の表計算アプリなので、MacでCSVの中身を表として確認したいときに使いやすいです。

Excelで文字化けしてしまうCSVでも、Numbersでは比較的読みやすく開ける場合があります。

手順はシンプルです。

  1. CSVファイルを複製する
  2. 複製したCSVファイルを右クリックする
  3. 「このアプリケーションで開く」から「Numbers」を選ぶ
  4. カラム名や日本語が正しく表示されているか確認する

表として中身を見ながら確認できるので、「文字化けしているかどうか」を目で判断しやすいのがメリットです。

必要に応じて書き出し直す

Numbersで正しく開けた場合は、必要に応じてCSVとして書き出し直すこともできます。

  • メニューから「ファイル」→「書き出す」→「CSV」を選ぶ
  • 必要に応じて、区切り文字などの設定を確認する
  • 保存先とファイル名を指定して書き出す
  • 書き出したCSVを、Notion・Excel・テキストエディットなど実際に使いたいアプリで開いて確認する

これにより、別のアプリで読み込みやすい形になることがあります。

ただし、CSVを書き出すときは、次の点を確認しておきましょう。

  • 列数が変わっていないか
  • カラム名が正しく残っているか
  • 日付や金額の形式が勝手に変わっていないか
  • 文字化けが直っているか

とくに取引履歴や会計データのようなCSVでは、日付や金額の形式が変わると後で困ることがあります。

書き出し後は、目的のアプリで実際に開いて確認するのがおすすめです。

方法3:ターミナルのiconvで変換する

ファイルのある場所へ移動する

より確実に文字コードを指定して変換したい場合は、Macのターミナルでiconvコマンドを使う方法があります。

ターミナルと聞くと少し難しく感じるかもしれませんが、使うコマンドは短めです。

まずは、CSVファイルをデスクトップやダウンロードフォルダなど、わかりやすい場所に置いておくと作業しやすくなります。

デスクトップに移動する場合は、ターミナルで次のように入力します。

cd ~/Desktop

ダウンロードフォルダに移動する場合は、次のように入力します。

cd ~/Downloads

ファイル名に日本語やスペースが入っていると、コマンド入力時につまずきやすいことがあります。

初心者の方は、変換用にコピーしたファイル名をinput.csvのように短くしておくと扱いやすいです。

UTF-8からShift_JISへ変換する

UTF-8のCSVをShift_JISに変換したい場合は、次のように入力します。

iconv -f UTF-8 -t SHIFT_JIS input.csv > output.csv

このコマンドは、ざっくり言うと次のような意味です。

  • -f UTF-8:元ファイルの文字コードはUTF-8
  • -t SHIFT_JIS:変換後の文字コードはShift_JIS
  • input.csv:変換したい元ファイル
  • output.csv:変換後に作られるファイル

WindowsのExcelで開く人にCSVを渡すときなどは、Shift_JISに変換すると文字化けしにくくなる場合があります。

ただし、絵文字や一部の特殊記号はShift_JISで扱えないことがあります。

変換時にエラーが出た場合は、対象の文字を置き換えるか、UTF-8のまま扱えないか確認してみてください。

Shift_JISからUTF-8へ変換する

Shift_JISのCSVをUTF-8に変換したい場合は、次のように入力します。

iconv -f SHIFT_JIS -t UTF-8 input.csv > output.csv

NotionやMac上のアプリで扱いやすくしたい場合は、Shift_JISからUTF-8に変換すると改善することがあります。

たとえば、証券会社や業務システムからダウンロードしたCSVをNotionに取り込みたいとき、カラム名が文字化けしている場合は、UTF-8に変換してから再度インポートを試してみると原因を切り分けやすくなります。

変換後は、必ずoutput.csvを開いて、カラム名や日本語が正しく表示されているか確認しましょう。

方法4:VS Codeなどのエディタを使う

文字コードを指定して開き直す

すでにVS Codeを使っている方は、VS Codeで文字コードを指定して開き直す方法もあります。

VS Codeでは、画面右下に現在の文字コードが表示されます。

そこをクリックすると、別の文字コードで開き直す操作ができます。

たとえば、CSVを開いたときに文字化けしている場合は、右下の文字コード表示をクリックして、「エンコーディング付きで再度開く」のような項目を選び、Shift_JISやUTF-8を試します。

正しい文字コードで開き直せると、文字化けしていた日本語が読めるようになることがあります。

別の文字コードで保存する

正しく表示されたら、必要な文字コードで保存し直します。

VS Codeでは、文字コードを指定して保存する操作もできます。

たとえば、Shift_JISで開いたCSVをUTF-8で保存し直すことで、Notionや他のWebサービスに取り込みやすくなる場合があります。

ただし、この記事ではMac初心者向けに、まずは標準アプリやシンプルな方法から試す流れにしています。

VS Codeは、すでに使っている方や、エディタ操作に慣れている方向けの選択肢として考えるとよいです。

うまく変換できないときの注意点

Shift_JISでは扱えない文字がある

文字コードを変換するときに注意したいのが、Shift_JISでは扱えない文字があることです。

たとえば、次のような文字はShift_JISで保存できない場合があります。

  • 絵文字
  • 一部の特殊記号
  • 機種依存文字
  • 新しい漢字や特殊な記号

UTF-8からShift_JISに変換するときにエラーが出る場合は、CSVの中にShift_JISで表現できない文字が含まれている可能性があります。

その場合は、対象の文字を別の文字に置き換える、不要な記号を削除する、またはUTF-8のまま扱えないか確認してみましょう。

とくに、NotionやWebサービスで使うCSVであれば、無理にShift_JISへ変換せず、UTF-8で扱った方がスムーズなこともあります。

変換後は目的のアプリで開いて確認する

文字コードを変換したあとは、必ず目的のアプリで開いて確認しましょう。

たとえば、Notionに取り込むために変換したなら、Notionでインポートを試します。

Excelで使うために変換したなら、Excelで開いて確認します。

確認したいポイントは次のとおりです。

  • カラム名が正しく表示されているか
  • 日本語の本文やメモが読めるか
  • 日付や金額の表示が崩れていないか
  • 列の区切りがずれていないか
  • インポート先でエラーが出ないか

文字コードを変換できたつもりでも、取り込み先のアプリによっては別の形式を求められることがあります。

最後は、実際に使いたい場所で確認するのが大切です。

どの方法を選べばいい?目的別の早見表

迷ったときは、次のように選ぶとわかりやすいです。

やりたいことおすすめの方法
追加アプリなしで試したいテキストエディット
表として中身を確認したいNumbers
確実に文字コードを指定して変換したいターミナルのiconv
普段からエディタを使っているVS Code
NotionにCSVを取り込みたいUTF-8に変換してから確認
WindowsのExcelで開く人に渡したいShift_JISへの変換を検討

Mac初心者の方は、まず元ファイルをコピーして、テキストエディットやNumbersなど画面操作で試すのがおすすめです。

それでもうまくいかない場合や、文字コードを明確に指定したい場合は、ターミナルのiconvを使うと原因を切り分けやすくなります。

まとめ

MacでCSVやテキストファイルが文字化けすると、最初はとても焦ります。

でも、CSVの中身が壊れているのではなく、文字コードの読み取り方が合っていないだけの場合もあります。

Macで文字コードを変更したいときは、次のような方法があります。

  • テキストエディットで開いて保存し直す
  • NumbersでCSVを開いて確認する
  • ターミナルのiconvでUTF-8・Shift_JISを変換する
  • VS Codeなどのエディタで文字コードを指定して開き直す

初心者の方は、まず元ファイルをコピーしてから、画面操作で試しやすい方法を選ぶと安心です。

NotionにCSVを取り込みたい場合や、Excelで文字化けしてしまう場合も、文字コードを変換することで改善することがあります。

うまくいかないときは、無理に一度で解決しようとせず、元ファイルを残したまま、ひとつずつ方法を試してみてください。

タイトルとURLをコピーしました