CSVが文字化け!?読めない文字列になっていた時の解決手順

取引先から届いたCSVを開いたら、商品名や住所が読めない文字になっていた。システムから出力した名簿をExcelで開くと、日本語だけがおかしい。そんなとき、どこから確認すればよいか迷うことがあります。

CSVの文字化けは、ファイルを保存したときの文字コードと、読み込む側の設定が合っていないために起こる場合があります。文字化けして見えるだけなら、読み込み方を変えることで改善する可能性があります。

まずは元ファイルを残し、読み込み設定を確認しましょう。この記事では、Excelで表示を確認する方法から、取り込み先に合わせて文字コードを変換する手順まで、順番に説明します。

目次

文字化けしたCSVは、まず上書きせずに残そう

読めない状態のまま保存を進めない

文字化けしたCSVを開いたら、そのまま編集・上書きせず、元のファイルを残してください。確認作業はコピーしたファイルで行うと、設定を変えてやり直せます。

すでに保存してしまった場合は、メールの添付ファイルやダウンロード元などから、最初のCSVを取り直せるか確認しましょう。

表示の問題と、文字が失われた状態は違う

読み込み設定が合っていないだけなら、元のデータは残っている可能性があります。一方、元の文字が「?」などの別の文字に置き換わり、その状態で保存されている場合は、文字コードを変換するだけでは復元できません。

画面に「?」が見えるだけで、すぐに復元できないと判断する必要はありません。まず未編集の元ファイルを使い、正しい設定で読み直すことが大切です。

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

文字コードは、日本語などの文字をデータとして表すためのルールです。保存した側と読み込む側でルールが合わないと、同じデータが別の文字として表示されることがあります。

たとえば、UTF-8で作られたCSVを、別の文字コードとして読み込むと、日本語が文字化けする場合があります。拡張子が同じ「.csv」でも、文字コードまで同じとは限りません。

CSVを扱う際によく見かける名前を、整理しておきましょう。

文字コードの名前知っておきたいこと
UTF-8多くの言語を扱える文字コード。利用先によってBOMの有無を指定される場合があります。
UTF-8(BOM付き)ファイルの先頭に、文字コードを判断する手掛かりとなる目印を付けたものです。
Shift_JIS日本語のCSVや、業務システムの仕様で見かける文字コードのひとつです。
Windows-31J・CP932Shift_JISと関係が深い文字コードですが、扱える文字は完全には同じではありません。

すべてを覚える必要はありません。「作成元は何を使っているか」「取り込み先は何を指定しているか」を確認できれば、設定を選びやすくなります。

文字化けしたときに確認する順番

1.CSVをどこで作成したか確認する

まず、ファイルを出力したシステムの設定や説明を確認します。「CSV出力」「ダウンロード」などの画面に、UTF-8やShift_JISといった選択肢がないか探してください。

取引先から届いたファイルなら、どのシステムから、どの文字コードで出力したかを確認します。ファイル名や見た目だけで判断せず、作成元の情報を手掛かりにしましょう。

2.どの場面で文字化けするか確認する

Excelで開いたときだけ文字化けする場合は、Excelの読み込み設定を確認します。正しい設定で読めるなら、ファイル自体の変換が不要なこともあります。

業務システムへ取り込んだときに文字化けする場合は、そのシステムが指定する文字コードを確認してください。「UTF-8・BOMなし」「Windows-31J」など、細かい条件が書かれている場合もあります。

画面で正しく読むための設定変更と、別のシステムへ渡すためのファイル変換を分けて考えると、対処を進めやすくなります。

3.文字化け以外の問題も確認する

CSVの見た目がおかしくても、原因が文字コードとは限りません。

  • データがすべて1列に入る場合は、区切り文字を確認する。
  • 商品コードの先頭の「0」が消える場合は、数値として読み込まれていないか確認する。
  • 番号が日付になる場合は、読み込み時のデータ型を確認する。
  • 一部の人名や記号だけ変わる場合は、その文字を扱える文字コードか確認する。

文字コードを変えても、列の分かれ方や数値への自動変換まで解決するわけではありません。症状に合わせて確認しましょう。

Excelで文字化けする場合は、読み込み方法を変えてみよう

「テキスト/CSVから」の取り込みを使う

CSVをダブルクリックして開くと文字化けする場合は、Excelのデータ取り込み機能を試します。

Windows版ExcelのPower Queryを使う一般的な流れは、次のとおりです。メニュー名や配置は、バージョン・環境によって異なります。

  1. Excelで空のブックを開く。
  2. 「データ」タブから「テキストまたはCSVから」を選ぶ。「データの取得」→「ファイルから」に入っている場合もあります。
  3. 確認したいCSVを選ぶ。
  4. 読み込み画面で「元のファイル」などの文字コード設定と、区切り記号を確認する。
  5. プレビューで日本語と列の分かれ方を確認し、必要なデータ型の設定を行ってから読み込む。

Microsoftも、UTF-8のCSVを開く方法として、BOM付きでの保存や、データ取り込み機能の利用を案内しています。操作はMicrosoftの公式説明でも確認できます。

日本語が読めても、番号や日付を確認する

プレビューで日本語が読めるようになったら、商品コードや管理番号も確認しましょう。先頭ゼロや長い番号を維持する必要がある列は、文字列として取り込む設定を確認します。

すでに先頭ゼロが消えたり、番号が別の値に変わったりしている場合は、あとから表示形式を変えるだけでは元に戻らないことがあります。元CSVから、型の自動変換を含めた読み込み設定を見直してください。

CSVを表形式で確認・編集したい場合は、事務人のCSVエディターも選択肢です。入力文字コードと区切り文字を指定して読み直せるほか、セルを文字列として扱うため、番号を数値に変えずに編集したい場面にも使えます。

文字コードの変換が必要な場合の手順

取り込み先から文字コードを指定されている場合や、複数のファイルの文字コードをそろえたい場合は、変換を行います。ここでは、事務人の文字コード変換ツールを使う手順を紹介します。

手順1.入力と出力の文字コードを確認する

最初に、次の2つを分けて確認します。

  • 入力文字コード:元のファイルを、どの文字コードとして読み取るか。
  • 出力文字コード:変換後のファイルを、どの文字コードで保存するか。

たとえば、Windows-31Jで出力されたCSVを、UTF-8指定のシステムへ取り込むなら、入力はWindows-31J・CP932、出力は指定に合うUTF-8を選びます。BOMの有無も、取り込み先の条件に合わせます。

入力を間違えたまま出力だけを変えても、意図した変換にはなりません。まず、元ファイルを正しく読み取る設定が必要です。

手順2.CSVを選び、判定結果を確認する

ツールにCSVを追加し、ファイルごとの入力文字コードと判定結果を確認します。「要確認」と表示された場合は、作成元の設定などを調べ、入力文字コードを確認・変更してください。

文字コードは常に一意に判定できるわけではありません。自動判定だけで決めず、元の出力設定と照らし合わせましょう。

このツールには、通常のファイル内容プレビューはありません。判定結果の確認と、変換後に文章を読んで確かめる作業は、分けて行います。

手順3.利用先に合う出力文字コードを選ぶ

「全ファイルの出力文字コード」で、変換先を選びます。複数ファイルを追加した場合、出力設定はすべてのファイルに共通して適用されます。

Excelで開くことが目的なら、UTF-8のBOM付きが選択肢になります。一方、業務システムでBOMなしを指定されている場合は、そちらを選んでください。

「推奨」と書かれた設定でも、すべての取り込み先に適するとは限りません。利用先の指定を優先することが基本です。

手順4.結果を保存し、利用先で確認する

変換したファイルはZIPで受け取ります。保存して展開し、変換後のCSVを実際に使うソフトやシステムで確認してください。

  • 商品名、住所、人名などの日本語が読める。
  • 記号や特殊な文字が意図した内容になっている。
  • 行数と列数、見出しが元データと一致している。
  • 先頭ゼロや長い番号が保たれている。
  • 取り込み先でエラーが出ない。

このツールは、文字コードを変更するもので、CSVの区切り文字や列構造を整理するものではありません。列のずれなどが残る場合は、別の設定を確認しましょう。

公開ページでは、ファイル内容をブラウザ内だけで処理し、サーバーへ送信・保存しないと案内されています。業務データを扱う際は社内ルールも確認し、必要な結果はページを閉じる前に保存してください。

変換しても直らない場合に確認すること

元の文字が失われていないか

元の文字が「?」などに置き換わって保存されている場合は、文字コードを変えても元の文字を特定できません。未編集のファイルを取り直すか、作成元から再出力してもらいましょう。

変換先で扱えない文字が含まれていないか

文字コードによって、扱える文字の範囲は異なります。人名や記号などが変換できない場合は、勝手に別の文字へ置き換えず、取り込み先が対応する文字コードや運用を確認してください。

入力文字コードを取り違えていないか

出力設定を変え続ける前に、入力文字コードを見直します。Shift_JISとWindows-31J・CP932も、常に同じものとして扱わず、元ファイルの仕様を確認しましょう。

事務人の文字コード変換ツールでは、1件でも変換に失敗するとZIPは作成されません。「変換できなかった理由」を確認し、該当ファイルの入力・出力設定や元データを見直してください。

CSVの文字化けでよくある疑問

UTF-8に変換すれば、必ず直りますか?

必ず直るとは限りません。元ファイルを正しい文字コードで読み取れていることと、利用先がUTF-8に対応していることが必要です。すでに失われた文字を復元することもできません。

BOMは付けたほうがよいですか?

Excelで直接開く用途では、UTF-8のBOM付きが役立つ場合があります。業務システムへの取り込みでは、BOMの有無を指定されることがあるため、その条件に合わせてください。

ファイル名の「.csv」を変えれば直りますか?

拡張子を変更しても、中身の文字コードは変わりません。読み込み設定を変えるか、必要に応じて文字コードの変換を行います。

正しく読み取り、利用先に合う文字コードで保存しよう

CSVが文字化けしたときは、元ファイルを残し、作成元と読み込み設定を確認するところから始めましょう。Excelでの読み込み方を変えるだけで解決する場合もあります。

変換が必要なら、正しい入力文字コードを指定し、利用先に合う出力文字コードを選びます。変換後は日本語だけでなく、番号や行・列も確認することで、次の作業へ進めやすくなります。

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

この記事を書いた人

目次