CSVの文字化けが直らないときの確認事項|元ファイル・文字コード・保存状態

CSVの文字コードを変えても日本語が読めない。修復ツールを使っても一部の文字が戻らない。Excelで保存し直したら、さらに表示がおかしくなった。そんなときは、変換を繰り返す前に、ファイルの状態を確認しましょう。

CSVの文字化けが直らないときに確認したいのは、「元ファイル」「読み込み時の文字コード」「文字化けした後の保存状態」の3点です。

開くときの設定が合っていないだけなら、正しい文字コードで読み直すことで改善する可能性があります。一方、変換や保存によって元の文字情報が失われている場合は、未編集のファイルや出力元のデータへ戻る必要があります。

この記事では、文字化けが直らない原因を切り分け、次に何を確認すればよいかを順番に解説します。

目次

CSVの文字化けが直らないときは、この順番で確認する

まずは、今の状況に近いものを確認してください。

現在の状況考えられる原因最初に行うこと
ダウンロード直後のCSVがExcelで文字化けする読み込み時の文字コードが合っていない元ファイルを残し、文字コードを指定して開く
変換後のCSVでも文字化けする変換元の文字コードを誤って選んだ、または開き直す際の設定が合っていない変換前のファイルへ戻り、読み込みと保存の設定を分けて確認する
文字化けしたまま上書き保存した誤って読み取られた文字が保存された可能性がある未編集のコピー、再ダウンロード、バックアップを探す
一部の文字だけ「?」「�」になる読み取りエラー、または過去の変換で文字が置き換わった可能性がある未編集の元ファイルで同じ箇所を確認する
結合したCSVの途中から文字化けする異なる文字コードのファイルが、そのまま連結された可能性がある結合前の各ファイルを個別に確認する

この段階では、文字化けしているファイルを削除したり、元ファイルへ上書きしたりしないでください。比較できる状態で残しておくと、問題が起きた段階を確認しやすくなります。

確認事項1:未編集の元ファイルが残っているか

最初に探したいのは、Excelや変換ツールで保存し直す前のCSVです。

「元ファイル」という名前で保存してあっても、すでに文字化けした状態で上書きしている場合があります。ファイル名だけで判断せず、どこから入手し、その後どのような操作をしたかを確認しましょう。

元ファイルを探す場所

  • パソコンのダウンロードフォルダー
  • 受信したメールの添付ファイル
  • 共有フォルダーに残っている受領時のコピー
  • ファイル履歴やバックアップ
  • CSVを出力した業務システムやWebサービス

再ダウンロードできる場合は、新しく取得したCSVを別名で保存します。操作を試すためのコピーも作成し、未編集のファイルはそのまま残してください。

なお、業務システムのデータが更新されていると、再出力したCSVが以前と同じ内容になるとは限りません。対象期間、抽出条件、件数も確認しましょう。

「表示だけの問題」か「保存された内容の問題」かを分ける

未編集のCSVを正しい文字コードで開いたときに正常に読めるなら、そのファイルには元の文字情報が残っていると判断できます。

一方、編集・変換後のCSVだけがおかしい場合は、その間の操作で問題が生じた可能性があります。この場合は、変換済みファイルを繰り返し修正するより、未編集のCSVからやり直す方が確実です。

確認事項2:保存形式だけでなく、読み込み時の文字コードを確認する

「UTF-8で保存したのに直らない」という場合は、保存する前の読み取り方を確認してください。

文字コード変換には、次の2つの設定があります。

  • 変換元の文字コード: 入力ファイルを何の文字コードで読むか
  • 変換先の文字コード: 読み取った文字を何の文字コードで保存するか

例えば、元のCSVがUTF-8なのにShift_JISとして読み込み、文字化けした内容をUTF-8で保存しても、日本語が正しく戻るとは限りません。

保存先をUTF-8にするだけではなく、変換前のプレビューで日本語が正しく読めていることを確認するのが重要です。

文字コードの自動判定は、確認の出発点として使う

文字コードの自動判定は便利ですが、必ず正解になるわけではありません。文字数が少ないファイルや、半角英数字が中心のファイルでは、複数の文字コードを区別しにくい場合があります。

次の順番で確認すると、判断しやすくなります。

  1. CSVの提供元や出力画面に、文字コードの記載がないか確認する。
  2. 記載がある場合は、その文字コードを読み込み側で指定する。
  3. 記載がない場合は、自動判定の候補とプレビューを確認する。
  4. 見出しだけでなく、本文中の日本語や人名、記号も確認する。

ファイル全体がほぼ正常でも、一部の文字だけが正しく扱えていないことがあります。先頭の数行だけで判断しないようにしましょう。

Excelでは、ダブルクリックせずに取り込んでみる

CSVを直接開いたときに文字化けする場合は、Excelのデータ取り込み機能を使って確認します。

Windows版Excelの代表的な手順は、次のとおりです。表示名や利用できる機能はバージョンによって異なります。

  1. Excelで空のブックを開く。
  2. 「データ」から「テキストまたはCSVから」を選ぶ。
  3. 未編集のCSVを選択する。
  4. 「元のファイル」などの文字コード設定を確認する。
  5. プレビューで日本語と列の区切りを確認する。

UTF-8なら「65001:Unicode(UTF-8)」、日本語のWindows向けCSVなら「932:日本語(シフトJIS)」が候補になります。元ファイルの仕様に合わせて選択してください。

Microsoftも、BOMなしのUTF-8 CSVを開く方法として、Excelのデータ取り込み機能を案内しています。

参考:Microsoftサポート:ExcelでCSV UTF-8ファイルを正しく開くには/財務省:CSVファイルを文字化けやデータ形式を変えないで開く方法

確認事項3:文字化けした後に保存していないか

読み込み設定を変えても直らないときは、文字化けした後の操作を振り返ってください。

  • 文字化けしたままExcelで上書き保存した。
  • 文字化けした文章をコピーして、別のファイルへ貼り付けた。
  • 変換済みのCSVを、さらに別の文字コードへ変換した。
  • 保存時に文字の置き換えや互換性に関する警告が出た。

こうした操作によって、画面に表示されていた文字化けが、ファイルの内容として保存される場合があります。

「?」「�」が見えるだけでは、復元できないと断定できない

「?」や「�」は、変換できない文字や、正しく読み取れないデータの代わりに使われることがあります。Microsoftの文字エンコーディング資料でも、これらの文字による置き換えが説明されています。

ただし、画面上に「�」が表示されているだけなら、元ファイルの文字情報が失われたとは限りません。 開いているソフトが、読み取れない部分を一時的に置き換えて表示している場合もあります。

一方、元の文字が「?」などへ置き換わった状態で保存され、元の情報が失われている場合は、そのファイルだけから元の文字を特定することはできません。例えば、異なる漢字がすべて「?」になった後では、どの漢字だったかを区別できなくなるためです。

参考:Microsoft Learn:文字エンコーディングと代替文字による処理

上書き保存した場合は、元データへ戻る方法を探す

上書き保存してしまっても、すぐに復元不能と決めつける必要はありません。未編集の添付ファイル、バックアップ、提供元のデータが残っていないか確認しましょう。

文字化けの経緯によっては逆変換で戻せる場合もありますが、文字情報が失われていれば完全には戻せません。特に人名、住所、商品コードなどは、見た目が自然になっただけで正しいと判断せず、元の記録と照合する必要があります。

一部だけ文字化けする場合に確認したいこと

特定の漢字や記号だけがおかしい

一部の漢字や記号だけが文字化けする場合は、変換先の文字コードでその文字を扱えるか確認します。

「Shift_JIS」と「Windows-31J/CP932」は、ツールによって別の選択肢として表示される場合があります。人名の漢字や丸数字など、拡張文字の扱いに関係することがあるため、提供元・取り込み先の指定を確認してください。

正しい名前が分からないまま、似ている漢字へ手作業で置き換えるのは避けましょう。元の名簿やシステム上の表記と照合することが大切です。

結合したファイルの途中からおかしくなる

結合前の各CSVは正常なのに、まとめたファイルの途中から文字化けする場合は、元ファイルごとの文字コードを確認してください。

UTF-8とShift_JISのファイルを、文字コードをそろえずにそのまま連結すると、単一の文字コードでは全体を正しく読めないファイルになる可能性があります。

この場合は、結合後のCSV全体を何度も変換するのではなく、結合前のファイルへ戻ります。それぞれを正しく読み取り、同じ文字コードで出力する手順で結合し直してください。

先頭の見出しだけがおかしい

最初の列名の前に不明な文字が付く場合や、取り込み先が最初の列名を認識しない場合は、BOMの扱いを確認します。

BOMは、UTF-8などを識別するためにファイルの先頭へ付ける目印です。読み込み側がBOMを適切に扱わないと、見出しの一部として解釈されることがあります。取り込み先がBOM付き・BOMなしのどちらを求めているか確認しましょう。

なお、BOMの付け外しだけで、本文中の壊れた文字が復元されるわけではありません。

参考:Unicode公式FAQ:BOMについて

文字化けと間違えやすいCSVのトラブル

文字コードを変更しても直らない理由が、文字化け以外の問題であることもあります。

症状主に確認する設定
すべてのデータがA列に入るカンマ・タブ・セミコロンなどの区切り文字
列がずれる、行の途中で分かれる区切り文字、引用符、セル内改行の扱い
郵便番号や商品コードの先頭の0が消えるExcelの数値への自動変換
長い数字の末尾が変わる数値としての読み込みや保存による精度の問題
文字が四角い枠で表示されるその文字に対応したフォントが使われているか

例えば、商品コード「00123」が「123」になる現象は、文字コードをUTF-8へ変えても解決しません。読み込み時に対象の列を文字列として扱う必要があります。

すでに先頭の0や数字の情報が失われた状態で保存されている場合は、表示設定だけを変えても元には戻りません。文字化けと同様に、未編集のCSVとの比較が必要です。

修復・変換後は「日本語が読める」以外も確認する

文字が読めるようになったら、実際の業務で使う前に内容を確認します。

  • 列の見出しが正しいか。
  • 先頭・中間・末尾のデータが欠けていないか。
  • データ件数や列数が想定どおりか。
  • 人名、住所、会社名、記号が元データと一致しているか。
  • 商品コードや郵便番号の先頭の0が残っているか。
  • 長い数字が丸められたり、別の値へ変わったりしていないか。
  • 保存したCSVを利用先の設定で読み込んでも、正しく扱えるか。

セル内に改行があるCSVでは、テキスト上の行数とデータ件数が一致しないことがあります。件数を比較するときは、CSVとして読み取ったレコード数を確認してください。

日本語が読めるようになったことと、データ全体が正しいことは分けて確認しましょう。

事務人のツールで確認するときのポイント

CSVの文字化けを確認したい場合は、事務人の「CSV文字化け修復ツール」が作業の選択肢になります。提出先の指定に合わせて保存形式を変更したい場合は、「TXT・CSV 文字コード変換ツール」を利用できます。

ツールを使う際も、次の順序で進めてください。

  1. 未編集の元ファイルを残す。
  2. 確認用のコピーを使う。
  3. 読み込み時の文字コードと表示内容を確認する。
  4. 利用先に合う文字コードで、別のファイルとして保存する。
  5. 保存後のファイルを開き、内容を照合する。

変換済みのファイルへ繰り返し処理をかけるより、元ファイルから設定を確認し直す方が、原因を切り分けやすくなります。すでに失われた文字情報については、ツールでも必ず復元できるわけではありません。

よくある質問

UTF-8に変換しても文字化けが直らないのはなぜですか?

変換元の文字コードを誤って選んでいる、変換後のCSVを開く設定が合っていない、または変換前から文字情報が失われている可能性があります。変換先だけでなく、未編集の元ファイルと読み込み時の設定を確認してください。

メモ帳で正常に読めれば、CSVに問題はありませんか?

少なくとも表示できた部分には、正しく読み取れる文字情報が残っていると考えられます。ただし、列の区切りや引用符など、CSVとしての構造まで正常とは限りません。Excelや取り込み先でも確認してください。

文字化けしたまま上書き保存したCSVは戻せますか?

保存された内容と変換の経緯によります。文字情報が残っていれば戻せる場合もありますが、「?」などに置き換わって元の情報が失われている場合は、そのファイルだけで完全に復元することはできません。まず未編集のコピーやバックアップ、再出力できる元データを探してください。

拡張子を「.csv」から「.txt」に変えると直りますか?

拡張子を変えても、ファイル内部の文字コードや内容は変わりません。開くソフトや読み込み手順が変わり、正しく読めるようになる場合はありますが、拡張子の変更そのものが文字を修復するわけではありません。

CSVの文字化けが直らないときは、変換を重ねる前に、未編集の元ファイルがあるか、正しい文字コードで読んでいるか、文字化け後に保存していないかを順番に確認してください。どの段階で表示や内容が変わったかを整理すると、読み込み設定を直すべきか、元データへ戻るべきかを判断しやすくなります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次