CSVの文字化けを直す

Excelで開くと文字化けするCSVを入れると、文字コードを見分けて、Excelでそのまま開けるUTF-8(BOM付き)やShift_JISに変えて保存します。文字化けした文字を貼り付けて元に戻すこともできます。

CSVファイルを直す

CSVファイルをここにドロップ

またはクリックして選ぶ(CSV・TSV・TXT。いくつでも)

保存する文字コード
改行コード

わからなければCRLFのままで大丈夫です。セルの中の改行は、Excelと同じLFのままにします。

文字化けした文字を貼って直す

「縺薙s縺ォ縺。縺ッ」や「‚±‚ñ‚É‚¿‚Í」のように化けてしまった文字を貼り付けると、よくある化け方を逆にたどって、読める日本語に戻せるか試します。

使い方

  1. 文字化けするCSVファイルを、上の枠にドロップします(クリックして選んでもかまいません)。いくつでも一度に入れられます。
  2. 表の見本で、日本語が正しく読めているか確かめます。読めていなければ「読み込む文字コード」を切り替えます。
  3. 保存する文字コードを選んで「保存する」を押します。迷ったら「Excelで開ける UTF-8(BOM付き)」です。

元のファイルはそのまま残り、「元の名前_utf8.csv」のような名前で新しいファイルを保存します。ファイルはどこにも送らず、このブラウザの中で変換します。区切り文字やセルの中身は変えず、文字コードと改行コードだけを変えます。

CSVが文字化けするのはなぜ?

文字コード(文字をコンピューターの数字に置き換える決まり)が、ファイルを作った側と開く側で食い違うからです。WindowsのExcelは、CSVをダブルクリックで開くとShift_JISとして読みます。いっぽう、Webサービスやデータベース、Macで作ったCSVはUTF-8のことが多く、そのまま開くと「縺ゅ≠縺…」のような文字になります。

UTF-8のファイルの先頭に「BOM(バイトオーダーマーク)」という目印が付いていると、ExcelはUTF-8だとわかって正しく開きます。このツールの「Excelで開ける UTF-8(BOM付き)」は、この目印を付けて保存します。

反対に、Shift_JISのCSVを、UTF-8を前提にしたソフトやWebサービスで開くと「�」などに化けます。このときは「UTF-8(BOMなし)」か「UTF-8(BOM付き)」で保存し直します。

どの文字コードで保存すればいい?

使い道選ぶもの
WindowsのExcelでダブルクリックして開きたいExcelで開ける UTF-8(BOM付き)
会計ソフト・年賀状ソフト・古い業務システムに取り込む(説明に「Shift_JIS」「ANSI」とある)Shift_JIS
Webサービスに取り込む、MacやLinuxで使うUTF-8(BOMなし)

取り込み先の説明に文字コードが書いてあれば、それに合わせます。たとえば会計ソフトのfreeeは、レポートなどのCSVをShift_JISで出力し、仕訳帳などはShift_JISとUTF-8を選べます。マネーフォワード クラウド確定申告のよくある質問では、Excelで開くなら文字コードの設定を「Shift-JIS」にするよう案内しています。

Shift_JISで保存するときの注意

  • 絵文字や「𠮷」(つちよし)など、Shift_JISにない文字は「?」に変わります。保存する前に、その文字を一覧で表示します。
  • 「髙」(はしごだか)・「﨑」(たつさき)・「①」などは、WindowsのShift_JIS(CP932)にあるので、そのまま保存できます。ただし、取り込み先のソフトによっては使えないことがあります。
  • Macで入力した「〜」(波ダッシュ)や「−」(マイナス)などは、Windowsで同じに見える「~」「-」に置き換えて保存します。そのままだと「?」になってしまうためです。

このツールを使わずに直す方法

Excelの「テキストまたはCSVから」で読み込む

  1. Excelで空のブックを開き、「データ」タブの「テキストまたはCSVから」を選びます。
  2. CSVファイルを選んで「インポート」を押します。
  3. プレビューの「元のファイル」で「65001: Unicode (UTF-8)」を選び、「読み込み」を押します。

毎回この手順で開くなら、ファイルを変換しなくても読めます。ほかの人に渡すファイルなら、BOM付きのUTF-8に変換しておくと、相手はダブルクリックで開けます。

メモ帳で保存し直す(Windows)

CSVをメモ帳で開き、「名前を付けて保存」で文字コードを「UTF-8 (BOM 付き)」にして保存します。これでExcelでも文字化けせずに開けます。

Excelで作るCSVは「CSV UTF-8」で保存する

Excelの「名前を付けて保存」で「CSV UTF-8 (コンマ区切り)」を選ぶと、BOM付きのUTF-8で保存されます。

文字化けしたまま保存してしまったときは

文字化けしたCSVをExcelで開いたまま上書き保存すると、化けた文字がそのままファイルに書き込まれます。こうなると、文字コードを変えて読み直しても直りません。

このツールにそのファイルを入れると、「文字化けした文字のまま保存されているようです」と表示します。「化けた文字を戻す」を押すと、よくある化け方を逆にたどって文字を戻します。戻せなかった文字は「〓」になるので、保存したあとで直してください。元のファイル(化ける前のもの)が残っていれば、そちらを使うほうが確実です。

Macで開くとき

MacのNumbersでCSVの日本語が化けたときは、表を選んで「フォーマット」の「表」タブから「読み込みの設定を調整」を開き、「区切り」タブの「テキストエンコーディング」を変えて「表をアップデート」を押します。表を編集したあとは、この設定を変えられないので、先に確かめてください。

文字化けした文字から戻す仕組み

文字化けした文字を貼り付ける機能は、よくある化け方を逆にたどって読み直します。化け方には、見た目に特徴があります(例はどれも「こんにちは」です)。

化けた文字の例何が起きたか
縺薙s縺ォ縺。縺ッUTF-8のファイルを、Shift_JISとして開いた
‚±‚ñ‚É‚¿‚ÍShift_JISのファイルを、欧文の文字コード(Latin-1)として開いた
ã“ã‚“ã«ã¡ã¯UTF-8のファイルを、欧文の文字コードとして開いた
$B$3$s$K$A$O(BJIS(ISO-2022-JP)の切り替え記号が抜けた
����ɂ���Shift_JISのファイルを、UTF-8として開いた(戻せません)

WindowsのExcelやメモ帳でUTF-8のファイルを開くと、Shift_JISにない組み合わせは「・」に置き換わり、元の文字の一部が消えます。このツールは、消えた部分を前後の文字から推測できるときは補い(点線の下線で示します)、決められないときは「〓」で示します。たとえば「文字化け」が化けた「譁・ュ怜喧縺・」は「文字化〓」まで戻せます。最後の「け」は、「ぁ」から「た」までのどれだったか決められません。

「�」が入っている文字は、化けたときに元の情報がなくなっているので戻せません。元のファイルが残っていれば、上の「CSVファイルを直す」にファイルを入れて、読み込む文字コードを切り替えると正しく読めることが多いです。

よくある質問

ファイルはどこかに送られますか?

送られません。読み込みも変換も、このページの中(お使いのブラウザ)だけで行います。次に開いたときのために、選んだ文字コードと改行コードだけをこのブラウザに保存します。

先頭の0が消える・「1.23E+17」や「####」と表示される

文字化けではなく、Excelが数字や日付として読んだための表示なので、文字コードを変えても直りません。郵便番号や電話番号の先頭の0が消えるのも同じです。Excelの「テキストまたはCSVから」で読み込み、その列のデータの種類を「テキスト」にすると、書いてあるとおりに表示できます。

「?」に変わってしまう文字があります

Shift_JISにない文字(絵文字や一部の漢字など)です。Shift_JISで保存するときは、保存する前にその文字を表示します。消したくないときは、UTF-8で保存してください。

文字コードの自動判定が外れることはありますか?

短いファイルや、日本語がほとんど入っていないファイルでは外れることがあります。表の見本が化けていたら、「読み込む文字コード」を切り替えて、正しく読めるものを選んでください。

TSVやテキストファイルも変換できますか?

できます。タブ区切りのTSVや、拡張子が.txtのファイルも同じように変換します。保存するファイルの拡張子は元のままです。

改行コードはどちらを選べばいいですか?

Windowsで使うならCRLF、MacやWebサービスで使うならLFが一般的です。迷ったらCRLFのままでかまいません。セルの中の改行は、Excelが作るCSVと同じくLFのままにします。

どのくらい大きなファイルまで扱えますか?

1つ100MBまでです。表の見本は、はじめの20行だけ表示します。大きいファイルは、パソコンの性能によっては時間がかかります。

出典