このガイドで防ぐ問題

Excelや業務システムでCSVを開いたときに日本語が文字化けする原因を、推測だけで変換せず確認します。

CSVの文字化けは、文字コードだけをUTF-8へ変えれば必ず直る問題ではありません。保存側と読込側の想定、BOMの有無、区切り文字、改行、引用符、機種依存文字が組み合わさって発生します。

特にExcelで正常に見えたCSVが別システムで壊れるケースでは、見た目だけでなく「どの文字コードとして保存されているか」と「取込先が何を要求しているか」を分けて確認します。

WORKED EXAMPLE

UTF-8のCSVを開くと日本語が文字化けする例

取込先がShift_JISを期待しているのに、UTF-8で保存されたCSVを渡したケースを想定します。

処理・確認前

保存形式: UTF-8(BOMなし)
取込先の要求: Shift_JIS

name,address
山田太郎,鹿児島市
佐藤花子,東京都

処理・確認後

確認順序
1. 元ファイルをコピー
2. UTF-8として正常に読めるか確認
3. 取込先仕様を確認
4. Shift_JISへ変換
5. 行数・列数・代表文字を再確認

この例で確認するポイント

  • 文字化けした状態のファイルをそのまま再保存しないことが重要です。
  • 変換元の文字コードを確定してから変換します。
  • 変換後は日本語だけでなく記号、丸数字、波ダッシュなども確認します。

まず元データを壊していないか確認する

文字化けした表示を開いたアプリでそのまま上書きすると、元のバイト列まで失われることがあります。最初に元ファイルをコピーし、別の文字コード候補で読み直せる状態を残します。

「UTF-8に変換する」の前に、現在のファイルがUTF-8、Shift_JIS、UTF-8 BOM付きのどれに近いかを確認します。短いASCII中心のCSVでは自動判定が曖昧になるため、日本語を含む行で確認します。

文字コード以外の崩れを切り分ける

日本語は読めても列がずれる場合は、文字コードではなくカンマ、タブ、ダブルクォート、セル内改行の扱いが原因です。CSVの値にカンマや改行を含む場合は、引用符で囲まれているか確認します。

Excel向けCSVと業務システム取込CSVでは要求が異なることがあります。保存先の都合ではなく、最終的に読み込むシステムの仕様を基準に形式を決めます。

  • 文字が読めない:文字コード候補を確認
  • 列がずれる:区切り文字と引用符を確認
  • 行が増える:セル内改行と改行コードを確認
  • 一部記号だけ変わる:変換先文字集合に存在するか確認

変換後は構造も照合する

文字が読めるようになっても、列数や行数が変わっていれば取込事故につながります。変換前後で行数、列数、ヘッダー、空欄、代表的な日本語を比較します。

顧客名や住所のような重要列では、数件だけでも元データと見比べ、置換文字「?」や欠落が発生していないか確認します。

問題が起きる主な原因

  • 保存側と読込側で想定文字コードが違う。
  • UTF-8のBOM有無を取込先が区別している。
  • 機種依存文字が変換先に存在しない。

安全に作業する手順

  1. 1

    元ファイルのコピーを作り、文字コード候補を判定します。

  2. 2

    変換前後で代表的な日本語、記号、改行を確認します。

  3. 3

    取込先の仕様に合わせてUTF-8またはShift_JISで保存します。

結果を利用する前の確認項目

  • 氏名、住所、丸数字、波ダッシュなどを確認する。
  • 列数と行数が変換前後で一致する。
  • ダブルクォート内の改行が壊れていない。

作業完了前のチェックリスト

  • 元ファイルをコピーした
  • 変換元文字コードを確認した
  • 取込先が要求する文字コードを確認した
  • 行数と列数を変換前後で比較した
  • 日本語・記号・改行を含む代表行を確認した
  • 文字化けした状態のファイルへ上書きしていない

この方法の限界と注意点

  • 自動判定は短いファイルでは誤ることがあります。
  • Shift_JISに存在しない文字は代替文字になる場合があります。

関連する無料ツール

UtilityBoxのガイド方針

ツールの操作方法だけでなく、結果を誤用しないための具体例、確認項目、処理の限界、元データを保管すべき場面まで記載します。原因・手順・完了判定・限界を運営者が確認したガイドだけを一覧と検索対象へ掲載します。

品質確認の方法と更新方針を確認する →