Problem solving guide

CSVが文字化けしたときの直し方

CSVの文字化けは、多くの場合「ファイルの文字コード」と「開く側が想定した文字コード」の不一致で起こります。まずはファイルを上書きせず、開き方を変えれば直るのか、変換が必要なのかを切り分けます。

文字化けする主な原因

開くときの文字コードが違う

UTF-8のファイルをShift_JISとして開く、またはその逆の場合です。元データが壊れていなければ、読み込み時の文字コードを正しく指定するだけで直ることがあります。

変換先で扱えない文字がある

絵文字や一部の漢字など、UTF-8では扱えてもShift_JISでは表現できない文字があります。この場合は単純な変換では元どおりになりません。

まず、この順番で確認する

UTF-8やShift_JISの違いを覚える必要はありません。「今のファイル」と「読み込み先」がそれぞれ何を使うかを確認すれば、必要な対処を判断できます。

  1. 1

    元のCSVを残して、コピーで試す

    文字化けして見えても、ファイル自体は壊れていない場合があります。文字化けした状態で上書き保存せず、受け取ったCSVを残してください。

  2. 2

    そのCSVの文字コードを確認する

    CSVを出力した画面や説明書に「UTF-8」「Shift_JIS」「Windows-31J」などの記載がないか確認します。分からない場合は、判定機能のあるツールで調べられます。

    文字コードとは、文字をファイルに保存する方式のことです。同じ文字でも、開く側が別の方式だと思い込むと文字化けします。

  3. 3

    CSVを開くソフトや読み込み先の指定を確認する

    読み込み画面や説明書に、受け付ける文字コードの指定がないか確認します。Excelで開くだけなら、ファイルを変換せず、読み込み時に文字コードを選ぶことで直る場合があります。

  4. 4

    確認結果に合わせて対処する

    文字コードが同じ

    変換はせず、CSVを開くときに正しい文字コードを指定します。

    文字コードが違う

    元ファイルのコピーを、読み込み先が必要とする文字コードへ変換します。

    すでに「?」などで保存されている

    変換だけでは元に戻せないため、変換前の元データを入手します。

現在の文字コードが分からない場合や、変換が必要だと分かった場合は、下のツールで判定と変換をまとめて行えます。

Try the tool

UTF-8とShift_JISを変換する

ファイル内容はブラウザ内で処理します。変換前に、Shift_JISで安全に扱えない文字も確認できます。

文字コード変換を使う

変換しても直らない場合

すでに文字化けした状態で保存されたファイルは、文字コードを変えるだけでは元に戻せないことがあります。また、読み込み先がCP932拡張文字に対応していない場合、ファイル内の文字が正しくても表示できません。

元データを作成したシステムの出力仕様と、読み込み先が要求する文字コードを確認するのが確実です。