CSVがExcelで文字化けする原因と直し方|UTF-8・Shift_JISの違い

CSVがExcelで文字化けする原因と直し方|UTF-8・Shift_JISの違い

CSVファイルをExcelで開いたとき、日本語が「文字化け」して読めなくなることがあります。

ファイルそのものが壊れているとは限らず、CSVに使われている文字コードと、Excel側で認識した文字コードが合っていないことが原因の場合があります。

特に、UTF-8やShift_JISなど異なる文字コードのCSVを扱うときに起こりやすい問題です。

文字コードを変換して確認したい場合は、「CSV文字コード変換|UTF-8・Shift_JISを無料で変換」を利用できます。

CSVの文字化けはなぜ起こる?

パソコンでは、文字をそのまま保存しているわけではありません。

文字ごとに割り当てられた数値を、一定のルールに従って保存しています。このルールの一つが「文字コード」です。

同じ日本語でも、

  • UTF-8
  • Shift_JIS

など、異なる文字コードで保存できます。

CSVを作ったときの文字コードと、開く側が想定した文字コードが一致しないと、本来の文字とは違う文字として読み取られ、文字化けすることがあります。

UTF-8とは?

UTF-8は、現在Webをはじめ幅広い場面で使われている文字コードです。

日本語だけでなく、多くの言語や記号を扱えます。

WebサービスなどからCSVをダウンロードすると、UTF-8で保存されていることも珍しくありません。

一方、CSVをそのままExcelで開いた場合など、利用環境やファイルの作り方によっては文字コードが正しく認識されないことがあります。

UTF-8(BOM付き)とは?

UTF-8には、ファイルの先頭に「BOM」と呼ばれる識別用の情報を付けることがあります。

これがUTF-8(BOM付き)です。

CSVをExcelなどで開く用途では、BOMが付いていることでUTF-8として認識されやすくなる場合があります。

そのため、

UTF-8のCSVをExcelで開くと文字化けする

という場合には、UTF-8(BOM付き)へ変換してから開くことで改善することがあります。

ただし、取り込み先のシステムからBOMなしUTF-8などを指定されている場合は、その指定を優先してください。

Shift_JISとは?

Shift_JISは、日本語環境で長く使われてきた文字コードです。

古い業務システムやCSVの取り込み機能などでは、現在でもShift_JISを指定される場合があります。

一方で、UTF-8で扱えるすべての文字をShift_JISで表現できるわけではありません。

絵文字や一部の特殊な文字など、Shift_JISでは扱えない文字もあります。

そのため、

UTF-8 → Shift_JIS

へ変換するときは、文字が失われないか注意が必要です。

デジタル作業室のCSV文字コード変換ツールでは、Shift_JISで表現できない文字がある場合、文字を勝手に置き換えず変換を中止するようにしています。

ExcelでCSVが文字化けしたときの直し方

まず、元のCSVを削除したり内容を書き換えたりせず、元ファイルを残しておくのがおすすめです。

そのうえで、次の方法を試します。

1. UTF-8(BOM付き)へ変換する

UTF-8のCSVをExcelで直接開いて文字化けした場合は、UTF-8(BOM付き)に変換してから開いてみます。

文字コードが原因であれば、これだけで正常に表示されることがあります。

2. Shift_JISへ変換する

利用しているソフトや業務システムがShift_JISを前提としている場合は、Shift_JISへ変換します。

ただし、元のCSVに絵文字やShift_JISで扱えない文字が含まれている場合は注意が必要です。

3. Excelのインポート機能を使う

CSVをダブルクリックで直接開くのではなく、Excel側からデータを読み込み、文字コードを指定して開く方法もあります。

Excelのバージョンや環境によって操作方法は異なりますが、文字コードを確認しながら読み込みたい場合に有効です。

CSVの文字コードを確認・変換する

文字コードが原因か確認したい場合は、デジタル作業室の無料ツールを利用できます。

CSV文字コード変換|UTF-8・Shift_JISを無料で変換

CSVを読み込むと、UTF-8、UTF-8(BOM付き)、Shift_JISを判定し、別の文字コードへ変換できます。

ファイルはサーバーへ送信せず、ブラウザ内で処理します。

複数のCSVをまとめたい場合

月別や店舗別など、同じ項目で作られたCSVが複数ある場合は、文字コードを確認したうえで1つにまとめることもできます。

CSV結合ツール|複数のCSVファイルを1つにまとめる

CSV結合ツールでは、UTF-8、UTF-8(BOM付き)、Shift_JISのファイルを読み込み、複数のCSVを1つにまとめられます。

ヘッダーが一致しない場合は、そのまま誤って結合しないよう処理を中止します。

文字化け以外の原因にも注意

CSVをExcelで開いたときの問題が、すべて文字コードによるものとは限りません。

たとえば、

  • 列の区切りが正しく認識されない
  • 日付や数値がExcelによって自動変換される
  • 先頭の0が消える
  • 長い数字が別の形式で表示される

といった問題は、文字コードとは別の原因です。

「日本語そのものが読めない」のか、「列や値の表示がおかしい」のかを切り分けると原因を探しやすくなります。

よくある質問

UTF-8とShift_JISはどちらを使えばいいですか?

利用するソフトや取り込み先の指定に合わせるのが基本です。

指定がない場合でも、既存の運用ルールがあるならそれにそろえてください。

UTF-8(BOM付き)とUTF-8(BOMなし)は同じですか?

どちらも文字データはUTF-8ですが、BOM付きではファイル先頭に識別用の情報が追加されています。

ソフトによって認識の仕方が異なる場合があります。

CSVをUTF-8(BOM付き)にすれば必ずExcelで直りますか?

必ずとは限りません。

文字コードの不一致が原因なら改善する可能性がありますが、区切り文字やExcelによる自動変換など、別の原因で表示がおかしくなる場合もあります。

Shift_JISへ変換すると文字が消えることはありますか?

Shift_JISでは表現できない文字があります。

変換方法によっては別の文字へ置き換わることがあるため、元ファイルを残したうえで変換結果を確認してください。

CSVファイルをアップロードしても大丈夫ですか?

デジタル作業室のCSV文字コード変換ツールとCSV結合ツールでは、選択したCSVをサイトのサーバーへアップロードせず、ブラウザ内で処理します。

まずは文字コードを確認する

CSVがExcelで文字化けしても、すぐにファイルが壊れたと判断する必要はありません。

まずは、

元のCSVがどの文字コードか

を確認し、利用環境に合った文字コードへ変換してみてください。

デジタル作業室では、以下のツールを無料で利用できます。

CSV文字コード変換|UTF-8・Shift_JISを無料で変換

CSV結合ツール|複数のCSVファイルを1つにまとめる