CSVの文字化けを直す方法|Excelで開く前の確認と文字コードの変換手順

未分類
この記事にはアフィリエイト広告が含まれています。

ダウンロードしたCSVをExcelで開き、日本語が「縺」「譁」などの文字になっても、すぐにファイルが壊れたとは限りません。多くの場合は、CSVの文字コードとExcelが読み込みに使った文字コードが一致していないことが原因です。

ただし、文字化けした状態で上書き保存すると、元の文字情報が失われる可能性があります。まずは元ファイルを保護し、文字コードを指定して読み込み直しましょう。

最初にやること:元のCSVをコピーする

作業前にCSVを複製し、原本と作業用ファイルを分けます。

  • 原本:開いても上書き保存しない
  • 作業用:文字コードの確認や変換に使う
  • 変換後:別名で新しいファイルとして保存する

すでにExcelで文字化けしている場合も、まだ保存していなければ閉じて構いません。保存を確認されたら、原本を残すため「保存しない」を選びます。

CSVをダブルクリックしただけで文字化けしたのであれば、表示方法の問題である可能性があります。一方、「�」や「?」に置き換わった状態で保存されている場合は、文字情報そのものが欠落していることがあります。

CSVの文字コードを確認する方法

日本語を含むCSVでは、主に次の文字コードが使われます。

  • UTF-8
  • UTF-8(BOM付き)
  • Shift_JISまたはWindows-31J(CP932)

テキストエディターでCSVを開き、文字コードを切り替えて表示を確認します。この段階では「変換して保存」ではなく、別の文字コードとして開き直す機能を使うのがポイントです。

見出し、氏名、住所などが自然な日本語になり、行やカンマの位置も崩れていなければ、その文字コードである可能性が高いと判断できます。自動判定は誤ることもあるため、プレビューだけでなく複数行を確認してください。

「縺」や「譁」が並ぶ場合は、UTF-8のデータを別の日本語文字コードとして読んでいるケースがよくあります。ただし、見た目だけで文字コードを断定するのは避けましょう。

Excelで文字コードを指定してCSVを開く手順

CSVはダブルクリックせず、Excelのインポート機能から読み込みます。

  1. Excelで空のブックを開く
  2. 「データ」タブを選ぶ
  3. 「テキストまたはCSVから」を選ぶ
  4. 読み込みたいCSVを指定する
  5. プレビュー画面で文字コードと区切り記号を設定する
  6. 内容を確認して読み込む

UTF-8なら「65001: Unicode(UTF-8)」、Shift_JIS系なら「932: 日本語(シフトJIS)」などの表示を選びます。名称は利用環境によって多少異なる場合があります。

区切り記号は通常「コンマ」ですが、タブやセミコロンで区切られたデータもあります。列が1列にまとまる場合は、文字コードではなく区切り記号の設定も確認してください。

UTF-8のCSVでも、BOMと呼ばれる識別情報が付いていないと、ダブルクリック時に正しく判定されないことがあります。BOMを追加する方法もありますが、受け取り側のシステムがBOMをデータとして扱うケースもあるため、Excelではインポート機能を使うほうが安全です。

電話番号や郵便番号の先頭ゼロを守る

文字化けが直っても、Excelの自動変換でデータが変わることがあります。

  • 「09012345678」が数値として扱われる
  • 「00123」が「123」になる
  • 商品コードが指数表示になる
  • 「1-2」が日付に変換される
  • 長い数字の末尾が丸められる

CSV自体には、セルの表示形式やデータ型が保存されていません。そのため、電話番号、郵便番号、会員番号、注文番号、商品コードなどは、読み込み前に「文字列」として指定します。

プレビュー画面から「データの変換」を選び、Power Queryの画面で対象列のデータ型を「テキスト」に変更してから読み込みます。「変更された型」という自動処理が追加されている場合は、内容を確認し、不要なら削除または修正します。

桁数の多い番号は、一度数値として読み込まれた後に文字列へ変更しても、失われた桁や先頭ゼロが戻らないことがあります。最初の読み込み時点で指定することが重要です。

CSVの文字コードを変換して保存する手順

Excelで正しく閲覧するだけなら、ファイル自体を変換する必要はありません。別のシステムへ渡すために文字コードを変更する場合は、次の手順で作業します。

  1. 原本を複製する
  2. テキストエディターで元の文字コードを指定して開く
  3. 日本語と行構造が正しいことを確認する
  4. 「名前を付けて保存」を選ぶ
  5. 保存先の文字コードを指定する
  6. 元とは異なるファイル名で保存する
  7. 保存したファイルを指定した文字コードで開き直す

UTF-8からShift_JIS系へ変換すると、絵文字、一部の異体字、珍しい漢字などを表現できず、「?」などに置き換わる場合があります。受け取り側が対応しているなら、文字の収録範囲が広いUTF-8を優先するのが無難です。

また、文字コードだけを変えたいときにExcelで開いて保存すると、日付や商品コードまで変換される可能性があります。データ内容を変更しない変換には、文字コードを明示できるテキストエディターや変換処理を利用します。

文字化けしたまま上書きした場合の対処

上書き後は、まず追加の保存や再変換を止めます。変換を繰り返すほど復元が難しくなることがあります。

次の順番で元データを探してください。

  1. 配布元や管理画面からCSVを再ダウンロードする
  2. メールの添付ファイルを取り直す
  3. クラウドストレージのバージョン履歴を確認する
  4. OSやバックアップ機能の過去ファイルを確認する
  5. 取引先やシステム管理者に再出力を依頼する

文字が別の文字に置き換わっただけで情報が残っていれば、逆変換できる場合もあります。しかし「�」や「?」へ置換された文字、Excelによって丸められた長い数字、削除された先頭ゼロは、変換後のCSVだけから正確に復元できないことがあります。推測で修正せず、原本の再取得を優先してください。

同じCSVで毎回文字化けする場合

定期的に届くCSVなら、毎回手作業で直すより読み込み条件を固定します。ExcelのPower Queryで文字コード、区切り記号、列のデータ型を設定し、同じ場所のCSVを更新できる形にすると作業を減らせます。

ただし、配布元が途中で文字コードや列構成を変更すると、設定済みの処理でもエラーや列ずれが起こります。原本を日付付きで保管し、更新後は件数、見出し、先頭ゼロ、長い番号を確認しましょう。

取引先やシステム担当者には、文字コード、BOMの有無、区切り記号、改行コード、各列のデータ型を出力仕様として確認しておくと、再発防止につながります。

まとめ

CSVの文字化けが起きたら、ダブルクリックや上書き保存を続けず、原本をコピーして文字コードを確認します。Excelでは「テキストまたはCSVから」を使い、UTF-8やShift_JIS系を明示して読み込むのが基本です。

文字化けだけでなく、電話番号や商品コードの自動変換にも注意し、重要な列は読み込み前に文字列へ設定してください。上書きしてしまった場合は無理に再変換せず、再ダウンロードやバージョン履歴から元データを確保することが最も確実な対応です。

コメント

タイトルとURLをコピーしました