CSV / 文字化け切り分けガイド

CSVの文字化けを切り分けて、安全に渡す

読めない文字が出たら、まず文字コード、BOM、区切り文字を確認します。表示が直っても、後から数値や日付へ変換された問題とは別です。元ファイルを残し、UTF-8で出力したファイルを再読込して検算します。

最初に分ける3つの原因

症状最初に確認次の操作
あいうのような文字読み込み側の文字コードUTF-8、CP932/Shift_JISを比較
列がずれる区切り文字・引用符・改行カンマ、タブ、セミコロンを確認
文字は読めるが001が1になる後段の型変換IDを文字列として再取込

UTF-8のBOMは判定を助けることがありますが、万能な互換性保証ではありません。

合成fixtureで再現する

utf8.csvはUTF-8の正例、diagnostic.csvは文字化け・区切り・型変換を切り分ける見本です。期待値は行数2、列数3、金額合計2180、IDは文字列です。

id,name,amount
001,山田太郎,1200
002,佐藤花子,980

元ファイルが別の文字コードなら、開いた時点で使用した文字コードを記録してからUTF-8へ変換します。

Web-Toolでの安全な渡し方

  1. 元CSVを保存し、作業前のコピーを残す。
  2. 表をExcelへで読み込み、文字コード・区切り・列の型を確認する。
  3. UTF-8として出力し、保存後に別のreaderで日本語・行数・列数を再確認する。
  4. 受取人へ文字コード、BOMの有無、区切り文字、検算結果を渡す。

このガイドと表をExcelへはブラウザー内で処理します。元ファイルや入力内容を外部へ送信しません。

戻せないケース

間違った文字コードで保存してバイトが失われた場合、正しい文字を推測して復元しません。原本や送信元から再取得します。文字コードを直しても、先頭ゼロや長いIDの型変換は別途確認が必要です。