CSV共通 実務ガイド

Shift_JISとUTF-8の違いと送り状CSVの文字化けを防ぐ方法

読込時に壊れて見える場合と元バイトが変わった場合を分け、根拠が足りない文字コードは選択を求める考え方を示します。

文字化けが起きる作業

送り状CSVをExcelやテキストツールで開いたとき、日本語が読めない記号列のように見えることがあります。CSVの文字は、画面に表示される文字そのものではなく、ファイル内のバイト列をどの文字コードで解釈するかによって決まります。UTF-8のバイトをShift_JIS系として読む、またはその逆をすると、読込時の表示だけが壊れて見える場合があります。

ここで大切なのは、「開いた画面が文字化けしている」ことと、「元のファイルがすでに書き換えられている」ことを分けることです。誤った設定で開いただけなら、原本を閉じて正しい候補で再読込できる余地があります。文字化けした画面をそのまま保存すると、置換文字や別の文字列が新しいバイト列として書かれ、後から元を特定しにくくなります。

最初に分けるべき3つの状態

原本の状態
元CSVのコピーを作り、文字化けしたソフトで保存しない。
読込設定
UTF-8かShift_JIS系か、BOMの有無、区切り文字を確認する。
再保存後の状態
別名保存したファイルを正しい設定で再読込し、日本語・行数・列数・バイトの往復を確認する。

UTF-8・Shift_JIS・CP932・BOM

UTF-8とShift_JIS系は、同じ「送り状」という文字を異なるバイト列で表します。実務では「Shift_JIS」と「CP932」が一緒に説明されることがありますが、呼び名が違うだけで全ての文字を完全に同じように扱える、と単純化しない方が安全です。利用するソフトが示すラベル、配送会社の条件、実際に読み書きできる文字を確認します。

UTF-8のBOMはファイル先頭に置かれるバイト列で、読込側がUTF-8の手掛かりに使うことがあります。BOMがあるUTF-8と、BOMがないUTF-8は同じ意味の文字列を含み得ますが、BOMの有無だけで全ての文字コードを確定できるわけではありません。Shift_JIS系のファイルにUTF-8 BOMが付いている、UTF-16など未対応BOMが付いている、といった場合は別の問題になります。

現在の実装は、UTF-8 BOMを検出できる場合はUTF-8として扱い、BOMがない場合にUTF-8とShift_JISのどちらもデコーダ上は読めると判断すれば、選択を求めて停止します。これは自動判定が万能でないことを前提にしたfail-closedの動作です。

文字化けの合成例:画面の状態と原本を分ける

実際の顧客データではない、説明用の合成例です。

操作前

操作前(正しい候補で読込)
項目,SAMPLE
品名,送り状

操作後

操作後(別の文字コードで読込した画面)
項目,SAMPLE
品名,文字化けして読めない状態
変更した項目
読込時に選んだ文字コードだけです。表示上の説明は安全な合成表現で、実際のmojibake文字列ではありません。
変更していない項目
原本のバイト、SAMPLE、CSVの行・列構造です。実際の顧客情報は含みません。

安全な扱いは、文字化け画面を保存せず、原本のコピーを閉じ、候補の文字コードを根拠とともに選び直すことです。

安全性
正しい候補で読み直し、保存前後のテキストと出力バイトが一致することを確認できる場合に限って次へ進みます。
ユーザー確認
配送会社が指定する文字コード、BOM、改行、使用文字の範囲を手元の公式資料または作成元で確認します。

Excel・テキスト編集での確認

  1. 元CSVを複製し、文字化けした状態で上書き保存しないようにします。
  2. Excelで直接開く方法だけに頼らず、テキスト/CSVの取込機能で文字コードと区切り文字を確認します。画面名と手順はExcelのバージョン・OSで異なる場合があります。
  3. テキストエディターやCSVツールで、BOM、行末、引用符、改行を確認します。日本語が読めても、CSV構造が壊れていないとは限りません。
  4. 別名保存したファイルを閉じ、同じ設定で再読込します。正常に見えること、文字コードの往復で置換文字が出ないこと、行数・項目数が変わっていないことを別々に確認します。

BOMなしのUTF-8は、ASCIIだけの合成データではShift_JISとどちらでも読めることがあります。そのため、画面の一部が読めることだけで文字コードを確定しないでください。逆に、BOMがあることは一つの手掛かりですが、配送会社の取込条件を代わりに決めるものではありません。

送り状CSVドクターの判定範囲

ホームで対応する配送CSVを選ぶと、ツールはブラウザ内でバイトを読み、UTF-8 BOM、対応するUTF-8/Shift_JISのデコード、CSV構造、プロファイルの診断を順に確認します。BOMが未対応、デコードできない、置換文字が出る、候補が曖昧といった場合は、選択や確認を求め、確信のないまま処理を進めません。

既存の出力契約は、選択された文字コード、UTF-8 BOMの有無、改行の情報を引き継ぎ、エンコード後の再読込が一致することを確認します。これは「どの文字コードでも相互変換する」機能ではありません。Shift_JIS系で表現できない文字があれば、保存を止めます。

変換を急がない理由と関連ガイド

文字化けした日本語を元の文字へ推測して戻すこと、文字コードを一律にUTF-8またはShift_JISへ変換すること、配送会社の条件を推測することは、自動で行いません。変換前の原本と、作成元が意図した文字列を確認できないからです。文字化けを修正したつもりで再保存すると、住所や品名だけでなく引用符や改行も壊れる危険があります。

Excelの保存経路まで含めて確認したい場合は、Excel編集の確認項目を参照してください。末尾空欄や項目数の変化も同時に起きた場合は、末尾の空欄を確認するガイドへ進みます。

公式資料と関連ルール

公式資料のURLと名称は、公開されている資料台帳から案内しています。資料の全文や公式CSVそのものは再配布していません。

公式資料の最終確認日
2026-07-23
対象形式
日本郵便 Webゆうパックプリント標準72項目CSV/ヤマト運輸 B2クラウド基本レイアウト95項目CSVに共通する確認

出典台帳の公開一覧を見る検証方法と自動判断の境界を見る

手元のCSVを確認する前に

Shift_JISとUTF-8の違いと送り状CSVの文字化けを防ぐ方法の対象形式に合うCSVは、対応範囲を確認してからブラウザ内の検査画面へ進めます。候補は内容を見てから選択してください。

対応する送り状CSVをブラウザ内で確認する