まず結論(超ざっくり)
| 名称 | 特徴 | よくある現場 |
|---|---|---|
| UTF-8 | 世界標準。絵文字もOK。可変長(日本語は主に3バイト)。 | Web、最近のシステム |
| Shift_JIS | 古い日本語向け。表現できない文字がある。 | 古い基幹、取引先CSV指定 |
| CP932(Windows-31J) | Windows版Shift_JIS拡張。実務での「SJIS」はこれを指すことが多い。 | Excel保存、Windows環境 |
なぜ文字化けが起きる?
文字コードが違う状態でデータを解釈すると、同じバイト列でも 別の文字として読まれてしまいます。
- UTF-8で保存 → 相手がShift_JISとして読み込む
- CP932で通る文字 → 厳密なShift_JISでは未定義
- 機種依存文字・旧字体が混ざる
特にCSV連携では、保存時のエンコーディング設定が原因になることが多いです。
よく事故る文字の例
- 絵文字 🙂
- 丸囲み数字 ①
- ローマ数字 Ⅳ
- 旧字体・異体字 﨑 髙
- 波ダッシュ 〜 と 全角ハイフン -
これらは Shift_JIS不可文字チェッカー や CSV列ごと監査ツール で確認できます。
安全にCSVを渡すための実務フロー
- まず NFKC正規化 で表記ゆれを減らす
- 機種依存文字 を推奨表記へ
- 旧字体を統一
- SJIS不可チェック
- 必要なら 修正版CSVを生成
取引先仕様が「Shift_JIS」とだけ書かれている場合、CP932前提かどうかも確認できると安心です。
関連キーワード
- Shift_JIS 文字化け 原因
- CP932 とは
- Windows-31J 違い
- UTF-8 CSV 取り込みエラー
- 文字コード 変換 エラー