2026年8月4日 ・ 読了目安 5 分
在庫CSVが文字化けするときの原因と直し方(Excel・Shift_JIS)
在庫データのCSVを扱っていると、「Excelで開いたら日本語が全部おかしくなった」「在庫管理サービスにアップロードしたら列名が���i��のような表示になった」という状況によく出くわします。 データが壊れたわけではないことがほとんどで、原因はほぼ「文字コードの食い違い」です。仕組みを一度理解しておくと、以後は数十秒で対処できます。
なぜ文字化けするのか
CSVはただのテキストファイルで、「日本語をどの方式で記録したか」の情報をファイル自身がほとんど持っていません。 日本語で使われる方式は主に2つあり、書いた側と読む側で食い違うと文字化けします。
- UTF-8— 現在のWebサービスの標準。多くのクラウドサービスからのエクスポートはこちらです。
- Shift_JIS— 日本語版Windowsで昔から使われてきた方式。Excelで「CSV(カンマ区切り)」として保存すると、既定でこちらになります。
つまり、典型的な事故は次の順番で起きます。サービスからUTF-8のCSVを書き出す → Excelで開いて少し直す → 上書き保存する → この瞬間にShift_JISに変わる → 別のサービスにアップロードすると、受け側はUTF-8だと思って読むので文字化けする、という流れです。
症状から原因を切り分ける
- 「�」(黒いひし形に疑問符)が並ぶ— Shift_JISのファイルをUTF-8として読んでいます。読み込み側の設定をShift_JISに変えてください。
- 「?ソス」「繧キ」のようなカタカナ交じりの崩れ方— 逆に、UTF-8のファイルをShift_JISとして読んでいます。読み込み側をUTF-8に変えてください。
- 1行目だけ先頭に変な記号がつく— BOMと呼ばれる目印が原因です。多くのサービスは自動処理しますが、残る場合は先頭列名を手で選び直せば実害はありません。
Excelで文字化けさせずに開く手順
UTF-8のCSVをExcelでダブルクリックして開くと、環境によっては文字化けします。壊さずに開くには「読み込む」操作を使います。
- 1Excelを先に起動し、空のブックを開きます(CSVをダブルクリックしない)。
- 2「データ」タブ →「テキストまたはCSVから」を選び、対象のCSVファイルを指定します。
- 3プレビュー画面の「元のファイル」で「65001: Unicode (UTF-8)」を選びます。プレビューの日本語が正しく表示されれば成功です。
- 4「読み込み」を押してシートに取り込みます。
そもそもExcelを経由しないほうが安全
移行が目的であれば、書き出したCSVを開かずにそのままアップロードするのが最も確実です。 Excelは開いて保存するだけで文字コードのほかにも、先頭のゼロが消える(0012 → 12)、長い数字が指数表示になる、日付らしき文字列が勝手に日付に変換される、といった変化を起こします。 JANコードや商品コードを扱う在庫データでは、これらは文字化けより厄介です。
取り込み側で直せるサービスを選ぶ
本来、文字コードの知識はデータを移したいだけの人が背負うべきものではありません。取り込む側が判定すれば済む話です。
タナオロのCSV取込では、文字化けを検出すると自動的にShift_JISとして読み直します。 Excelで一度保存してしまったファイルでも、そのままアップロードすれば日本語が正しく表示された状態でプレビューされます。 手動で文字コードを切り替えることもでき、切り替えた時点でその場で再解析されるため、ファイルを選び直す必要はありません。
列の対応づけも自動です。zaicoの在庫エクスポート形式であれば、物品名・数量・単位・コード・カテゴリ・保管場所・状態の各列を検出して割り当てます。 具体的な移行手順は「zaicoからCSVで在庫データを引っ越す手順(5分)」にまとめています。
まとめ
- 文字化けはデータの破損ではなく、読み書きの方式の食い違い。
- 「�」が並ぶならShift_JIS、カタカナ交じりに崩れるならUTF-8で読み直す。
- ExcelでCSVを保存すると既定でShift_JISになる。再アップロードするなら「CSV UTF-8」を選ぶ。
- 移行が目的なら、そもそもExcelで開かずにそのまま取り込むのが最も安全。
タナオロはフリープランで200件まで無料で使えます。手元のCSVがうまく取り込めるかどうか、実際のファイルで試してみてください。