CSV / Guide / 2026-09-22

CSVの文字化けを防ぐ|UTF-8とShift_JISをどう扱うか

CSVを開いたときの文字化けを、文字コードの違い・確認方法・安全な変換手順から整理する。

CSVの文字化けは、データが壊れたように見えても、実際には読む側と書く側の文字コードが食い違っているだけのことが多い。

日本語CSVでよく出るのが UTF-8 と Shift_JIS 系の違いだ。

まず「変換」より元ファイルを残す

最初に、元CSVを複製して保存する。文字コードを変換して上書きすると、変換前の状態を比較できなくなる。調査用の原本と、作業用コピーを分ける。

文字コードが違うと何が起きるか

同じ文字でも、ファイル内部ではバイト列として保存されている。UTF-8として書かれたバイト列をShift_JISとして読む、またはその逆をすると、日本語部分が意味のない文字列に見える。

英数字だけの列は正常に見える場合があるため、「一部だけ壊れた」と誤認しやすい。

安全な確認手順

  1. 元ファイルを保存する
  2. インポート先が要求する文字コードを確認する
  3. CSVをテキストエディタやインポート機能で開く
  4. UTF-8で正常か確認する
  5. 必要な場合だけ作業用コピーを変換する
  6. 変換後に日本語・記号・改行を再確認する

特に氏名、住所、商品名、備考欄など、日本語を多く含む列を見る。

BOM付きUTF-8について

UTF-8には、ファイル先頭に識別用のBOMが付く場合がある。ソフトによってBOMの扱いが違うため、「UTF-8なのにうまく開けない」場合は、UTF-8とUTF-8 BOM付きの違いも確認対象になる。

インポート先がどちらを要求しているか分からない状態で、機械的にBOMを追加・削除するのは避ける。

文字化けと列崩れは別問題

表示が読めないのが文字コード問題。列が増減したり、1レコードが複数行へ割れるのは、カンマ・引用符・改行などCSV構造側の問題であることが多い。

関連: CSVの列数が合わない原因

文字コードを直した後でも、そのまま全件投入しない。少量データでテストし、日本語、記号、先頭0、日付、改行が想定どおり入ることを確認してから本番へ進む。

全体の確認項目はCSVインポート前チェックリストにまとめている。

文字コード問題で大事なのは、直す前の原本を残し、インポート先の仕様に合わせて変換することだ。