CSVがExcelで文字化けする原因と直し方|UTF-8・Shift_JISの違い
CSVファイルをExcelで開いたとき、日本語が「文字化け」して読めなくなることがあります。
ファイルそのものが壊れているとは限らず、CSVに使われている文字コードと、Excel側で認識した文字コードが合っていないことが原因の場合があります。
特に、UTF-8やShift_JISなど異なる文字コードのCSVを扱うときに起こりやすい問題です。
文字コードを変換して確認したい場合は、「CSV文字コード変換|UTF-8・Shift_JISを無料で変換」を利用できます。
CSVの文字化けはなぜ起こる?
パソコンでは、文字をそのまま保存しているわけではありません。
文字ごとに割り当てられた数値を、一定のルールに従って保存しています。このルールの一つが「文字コード」です。
同じ日本語でも、
- UTF-8
- Shift_JIS
など、異なる文字コードで保存できます。
CSVを作ったときの文字コードと、開く側が想定した文字コードが一致しないと、本来の文字とは違う文字として読み取られ、文字化けすることがあります。
UTF-8とは?
UTF-8は、現在Webをはじめ幅広い場面で使われている文字コードです。
日本語だけでなく、多くの言語や記号を扱えます。
WebサービスなどからCSVをダウンロードすると、UTF-8で保存されていることも珍しくありません。
一方、CSVをそのままExcelで開いた場合など、利用環境やファイルの作り方によっては文字コードが正しく認識されないことがあります。
UTF-8(BOM付き)とは?
UTF-8には、ファイルの先頭に「BOM」と呼ばれる識別用の情報を付けることがあります。
これがUTF-8(BOM付き)です。
CSVをExcelなどで開く用途では、BOMが付いていることでUTF-8として認識されやすくなる場合があります。
そのため、
UTF-8のCSVをExcelで開くと文字化けする
という場合には、UTF-8(BOM付き)へ変換してから開くことで改善することがあります。
ただし、取り込み先のシステムからBOMなしUTF-8などを指定されている場合は、その指定を優先してください。
Shift_JISとは?
Shift_JISは、日本語環境で長く使われてきた文字コードです。
古い業務システムやCSVの取り込み機能などでは、現在でもShift_JISを指定される場合があります。
一方で、UTF-8で扱えるすべての文字をShift_JISで表現できるわけではありません。
絵文字や一部の特殊な文字など、Shift_JISでは扱えない文字もあります。
そのため、
UTF-8 → Shift_JIS
へ変換するときは、文字が失われないか注意が必要です。
デジタル作業室のCSV文字コード変換ツールでは、Shift_JISで表現できない文字がある場合、文字を勝手に置き換えず変換を中止するようにしています。
ExcelでCSVが文字化けしたときの直し方
まず、元のCSVを削除したり内容を書き換えたりせず、元ファイルを残しておくのがおすすめです。
そのうえで、次の方法を試します。
1. UTF-8(BOM付き)へ変換する
UTF-8のCSVをExcelで直接開いて文字化けした場合は、UTF-8(BOM付き)に変換してから開いてみます。
文字コードが原因であれば、これだけで正常に表示されることがあります。
2. Shift_JISへ変換する
利用しているソフトや業務システムがShift_JISを前提としている場合は、Shift_JISへ変換します。
ただし、元のCSVに絵文字やShift_JISで扱えない文字が含まれている場合は注意が必要です。
3. Excelのインポート機能を使う
CSVをダブルクリックで直接開くのではなく、Excel側からデータを読み込み、文字コードを指定して開く方法もあります。
Excelのバージョンや環境によって操作方法は異なりますが、文字コードを確認しながら読み込みたい場合に有効です。
CSVの文字コードを確認・変換する
文字コードが原因か確認したい場合は、デジタル作業室の無料ツールを利用できます。
CSV文字コード変換|UTF-8・Shift_JISを無料で変換
CSVを読み込むと、UTF-8、UTF-8(BOM付き)、Shift_JISを判定し、別の文字コードへ変換できます。
ファイルはサーバーへ送信せず、ブラウザ内で処理します。
複数のCSVをまとめたい場合
月別や店舗別など、同じ項目で作られたCSVが複数ある場合は、文字コードを確認したうえで1つにまとめることもできます。
CSV結合ツールでは、UTF-8、UTF-8(BOM付き)、Shift_JISのファイルを読み込み、複数のCSVを1つにまとめられます。
ヘッダーが一致しない場合は、そのまま誤って結合しないよう処理を中止します。
文字化け以外の原因にも注意
CSVをExcelで開いたときの問題が、すべて文字コードによるものとは限りません。
たとえば、
- 列の区切りが正しく認識されない
- 日付や数値がExcelによって自動変換される
- 先頭の0が消える
- 長い数字が別の形式で表示される
といった問題は、文字コードとは別の原因です。
「日本語そのものが読めない」のか、「列や値の表示がおかしい」のかを切り分けると原因を探しやすくなります。
よくある質問
UTF-8とShift_JISはどちらを使えばいいですか?
利用するソフトや取り込み先の指定に合わせるのが基本です。
指定がない場合でも、既存の運用ルールがあるならそれにそろえてください。
UTF-8(BOM付き)とUTF-8(BOMなし)は同じですか?
どちらも文字データはUTF-8ですが、BOM付きではファイル先頭に識別用の情報が追加されています。
ソフトによって認識の仕方が異なる場合があります。
CSVをUTF-8(BOM付き)にすれば必ずExcelで直りますか?
必ずとは限りません。
文字コードの不一致が原因なら改善する可能性がありますが、区切り文字やExcelによる自動変換など、別の原因で表示がおかしくなる場合もあります。
Shift_JISへ変換すると文字が消えることはありますか?
Shift_JISでは表現できない文字があります。
変換方法によっては別の文字へ置き換わることがあるため、元ファイルを残したうえで変換結果を確認してください。
CSVファイルをアップロードしても大丈夫ですか?
デジタル作業室のCSV文字コード変換ツールとCSV結合ツールでは、選択したCSVをサイトのサーバーへアップロードせず、ブラウザ内で処理します。
まずは文字コードを確認する
CSVがExcelで文字化けしても、すぐにファイルが壊れたと判断する必要はありません。
まずは、
元のCSVがどの文字コードか
を確認し、利用環境に合った文字コードへ変換してみてください。
デジタル作業室では、以下のツールを無料で利用できます。
