CSVCSV GUIDE
ホーム›CSV完全ガイド›文字化け
Detail Guide 03 · トラブル

CSVの文字化けを直す

「csv 文字化け」は日本のCSV関連検索で3番目に多いワードです(月間7,000件超)。文字化けはほぼ必ず「文字コードの食い違い」が原因で、正しく切り分ければ10分で直せます。このページでは原因の特定から、3つの修復方法、二度と起こさない運用までを解説します。

更新日 2026年10月30日読了時間 約10分出典 公式ドキュメントのみ
結論

原因は保存時と読み込み時の文字コードの食い違いです。直し方は3つ:① Excelの「テキスト/CSVから」で文字コードを指定して開き直す(推奨・安全)、② メモ帳やPowerShellで文字コードを変換して保存し直す、③ プログラムなら encoding(cp932/utf-8-sig など)を明示する。化けた状態で上書き保存すると元に戻らないため、まず上書きしていないか確認してください。

TOOL文字化けを今すぐ修復するツール手順ページで解説している作業を、そのままブラウザで実行できます。
目次
  1. 何が起きているのか
  2. 日本語CSVの2大文字コード
  3. 原因の特定手順
  4. 直し方① Excelで開き直す
  5. 直し方② 文字コードを変換
  6. 直し方③ プログラム側で指定
  7. 二度と起きない運用ルール
  8. 直らない場合
  9. よくある質問
01原理

文字化けで何が起きているのか

CSVを開いて「縺ゅ>縺・」や「繝・繝シ繧ソ」と表示されたとき、データは壊れていません。ファイルの中身は正しいバイト列のまま、読み込む側が別の文字コードとして解釈しているだけです。

同じ「データ」という文字も、UTF-8で保存してShift-JISとして開けば「繝・繝シ繧ソ」になります。つまり文字化けは保存側と読み込み側の文字コードの食い違いであり、正しい文字コードで開き直せば元に戻ります。

出典・参照(2026年10月30日 確認)
02知識

日本語CSVの2大文字コード

文字コード主な用途特徴
Shift-JIS(CP932)Windowsの国内業務ソフト、Excel従来形式、官公庁日本語2バイト。絵文字・一部の漢字は扱えない
UTF-8Web、クラウド、モダンなシステム全般世界共通。BOMの有無で挙動が分かれる

「BOM(バイトオーダーマーク)」はUTF-8ファイル先頭の目印で、ExcelはBOMがあるとUTF-8と判定できます。そのためExcelで開く前提なら「UTF-8(BOMあり)」=Excelの「CSV UTF-8」形式が安全です。

「csv utf-8 とは」という検索について

この検索は「CSVをUTF-8で保存するとはどういうことか」という意味です。答えは:ファイル内の文字をUTF-8という共通規格で記録すること。相手のシステムがUTF-8を要求しているなら、保存時に文字コードをUTF-8へ切り替えるだけで解決します。

03診断

原因の特定手順

  1. メモ帳(またはVS Code)でファイルを開くエディタは通常、文字コードを自動判定します。正しく見えたら原因は開き方(Excelの想定)側にあります。
  2. エディタでも化ける場合、別のエンコードで開き直すVS Codeなら「エンコード付きで再開」から Shift-JIS/UTF-8 を順に試します。どれかで正しく見えたら、その文字コードがファイルの本当の文字コードです。
  3. 化けた状態で上書き保存していないか確認する上書き済みなら「直らない場合」の章へ。未保存なら次の修復手順に進めます。
出典・参照(2026年10月30日 確認)
04修復

直し方① Excelのインポートで開き直す(推奨)

  1. CSVをダブルクリックせず、Excelの空ブックを開く
  2. 「データ」→「テキスト/CSVから」でファイルを選ぶ
  3. プレビューの「元のファイル」で文字コードを切り替えるUTF-8なら「65001」、Shift-JISなら「932」。プレビューの日本語が正しくなれば成功です。
  4. そのまま「読み込み」を押す正しく表示された状態でシートに展開されます。

この方法ならファイルを書き換えないため、安全度がもっとも高いです。

出典・参照(2026年10月30日 確認)
05修復

直し方② 文字コードを変換して保存し直す

相手側が要求する文字コードに合わせてファイル自体を変換します。1ファイルならメモ帳で十分です。

  1. メモ帳でファイルを開く正しく表示されるエンコードで開けている前提です。
  2. 「名前を付けて保存」→「エンコード」を変更ANSI(=Shift-JIS)またはUTF-8に変えて保存します。
  3. 相手のシステムで開いて確認する必ず変換後に受入テストを行ってください。

大量のファイルを一括変換するならコマンドラインが早いです。

PowerShell(Shift-JIS → UTF-8)
# フォルダ内の .csv をまとめて UTF-8(BOM付き)に変換
Get-ChildItem *.csv | ForEach-Object {
$t = Get-Content $_.FullName -Encoding Default
$t | Set-Content $_.FullName -Encoding UTF8
}
出典・参照(2026年10月30日 確認)
06修復

直し方③ プログラム側でエンコーディングを指定

コードで読む場合は、開くたびに明示的に指定するのが唯一の根本対策です。日本語CSVで使う指定は実質この4つです。

指定値意味使う場面
cp932Windows版Shift-JIS国内業務ソフト由来のCSV
shift_jis純粋なShift-JIS古い官公庁データ(一部の記号がcp932と差異)
utf-8UTF-8(BOMなし)Web・クラウド由来のCSV
utf-8-sigUTF-8(BOMあり)Excelの「CSV UTF-8」で保存したファイルの読み書き
Python
import pandas as pd

# Excel保存のCSVを読む(BOMの有無を気にしなくてよい)
df = pd.read_csv("data.csv", encoding="utf-8-sig")
# 日本国内の業務システムのCSV
df2 = pd.read_csv("data2.csv", encoding="cp932")

エラーが出た場合は 読み書きの専用ページ の「encoding指定の早見表」を参照してください。

07運用

二度と起きないための運用ルール

  1. 受け渡しのたびに文字コードを取り決める「外部への提出はShift-JIS、ツール連携はUTF-8」のように口頭でなく文書で固定します。
  2. ファイル名に文字コードを入れる「sales_2026_utf8.csv」のようにすれば、受け取った側が判断できます。
  3. Excelで渡すときは「CSV UTF-8」に統一古い環境で化ける事例が出たときだけ、その相手に限りShift-JISへ。
  4. 変換は必ず「コピー」に対して行う元ファイルは絶対に上書きしない。
出典・参照(2026年10月30日 確認)
08限界

直らない場合(上書きしてしまったとき)

化けた状態で上書き保存したデータは、原則復元できません

文字コードの取り違えで表示が崩れているだけの状態なら、正しいコードで開き直せば元に戻ります。しかし化けた表示のまま保存すると、元のバイト列が失われてどの文字コードで開いても戻りません。

対処の選択肢:

  • 元データの取得源(システムのエクスポート元・送り主)から再入手する
  • Outlook等のメール添付・共有フォルダの履歴に元ファイルが残っていないか探す
  • ごく一部のパターン(UTF-8→SJIS→UTF-8 の往復など)では手動修復ツールが効くこともあるが、期待値は低い

「上書き前の状態に戻す」は文字化け対策ではなくバックアップ運用の問題です。重要なCSVは受け取った時点でコピーを取る習慣をつけてください。

出典・参照(2026年10月30日 確認)
09FAQ

よくある質問

Q.CSVの文字化けはなぜ起きますか?

保存時と読み込み時の文字コードが違うためです。日本語CSVはShift-JISとUTF-8が並存しているため、どちらを開くかが常に問題になります。

Q.Excelで開いて化けた場合の一番簡単な直し方は?

「データ」→「テキスト/CSVから」で開き直し、プレビューで文字コードを65001(UTF-8)か932(Shift-JIS)に切り替える方法です。ファイルを書き換えないので安全です。

Q.文字化けしたCSVをそのまま保存してしまいました。直りますか?

原則直りません。元データを取得源から再入手してください。表示が崩れているだけの段階ならまだ間に合います。

Q.UTF-8とUTF-8(BOMあり)の違いは?

BOMはファイル先頭の3バイトの目印で、ExcelがUTF-8と判定するために役立ちます。プログラムによってはBOMでエラーになるため、BOMなしUTF-8を要求する相手には注意します。

Q.送られてきたCSVの文字コードを知る方法は?

VS Codeで開けばステータスバーに判定結果が表示されます。メモ帳でも「名前を付けて保存」画面のエンコード欄で現在の判定を確認できます。