CSVの文字化けを直す方法(Shift-JIS⇔UTF-8)

公開日:2026年7月8日(最終更新:2026年7月12日)|カテゴリ:CSV系

文字化けの正体:「書いた文字コード」と「読む文字コード」の不一致

コンピュータは文字を番号(バイト列)で保存しており、その番号と文字の対応表が「文字コード」です。日本語のCSVで使われる対応表は主に2つあります。

文字化けは、Shift-JISで書かれたファイルをUTF-8の対応表で読む(またはその逆)ときに起きます。番号と文字の対応表が違うのだから、別の文字に化けるのは当然、という単純な理屈です。ファイル自体が壊れているわけではないので、正しい対応表で読み直せば元どおりに読めます。

症状から原因を見分ける

化け方には特徴があり、見た目からおおよその原因を推定できます。

直す方向の決め方

「どちらに変換するか」は、そのファイルを最終的にどこで使うかで決めます。

変換はCSV文字コード変換ツールで行えます(ブラウザ内処理のため、顧客名簿のようなファイルでもサーバーに送信されません)。

BOMという第3の登場人物

UTF-8にはもう1つ、「BOM(バイトオーダーマーク)」という落とし穴があります。BOMはファイルの先頭に付ける「これはUTF-8です」という目印で、あってもなくてもUTF-8はUTF-8なのですが、読む側の解釈が分かれます。

「Excelでは開けるのにシステムに取り込むと1列目だけエラーになる」という症状が出たら、BOMを疑ってみてください。

変換しても直らない「機種依存文字」

丸数字(①②)、株式会社の略字(㈱)、旧字体の名前(﨑・髙・彅など)は、Shift-JISの規格外をWindowsが独自拡張した文字(CP932)です。取り込み先のシステムが厳密なShift-JISしか受け付けない場合、文字コード変換を正しく行ってもこれらの文字だけエラーや化けが残ることがあります。顧客名簿の取り込みでこの問題に当たった場合は、該当文字を常用の字体(崎・高など)に置き換えるか、取り込み先がUTF-8に対応しているならUTF-8で取り込むのが現実的な回避策です。

よくある質問

Q. 変換したのにまだ文字化けします。原因は?
A. 元ファイルの文字コードが、選んだ変換元と異なっている可能性が高いです。「自動判定→UTF-8」を選び直すか、逆方向(UTF-8→Shift-JIS)も試してください。それでも直らない場合は、ファイルがそもそもCSVではなくExcel形式(.xlsx)である、EUC-JPなど別の文字コードである、といったケースが考えられます。

Q. 文字化けしたまま保存してしまったファイルは元に戻せますか?
A. 「読み込み方を間違えて画面上で化けて見えている」だけなら、正しい文字コードで読み直せば戻ります。ただし、化けた状態のデータを上書き保存してしまった場合は元の文字情報が失われているため復元できません。元ファイルは残したまま作業するのが鉄則です。

変換後のCSVの中身はCSVビューアー・整形で表形式にして確認できます。

あわせて使いたいツール