1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

記事投稿キャンペーン 「2024年!初アウトプットをしよう」

CSVファイルをExcelで文字化けさせないために知っておくこと(エンコードとBOM)

Posted at

あるデータを処理し、CSVファイルを出力する自作ツールを開発したときの話です。
ExcelでCSVを開いたときの文字化け対策で、SJISを使用してファイルを出力していましたが
最近、BOM付きのUTF-8に変更しました。

エンコードとBOMについて調べた自分なりの理解を簡単にまとめてみました。

encodeとは?

ファイルに書き込まれている文字コードの種類のこと。
自然言語でいう「何語か?」のようなもので、エンコードに基づいて文字データをどのようにバイトデータに変換するかを決定するものです

BOM(Byte Order Mark)とは?

BOMは、ファイルがどのエンコードで書かれているかを表すマーカーのこと。
システム環境によってはエラーの原因になる事もあり、通常BOM無しで保存される事が多いです

Excelにおける選択:SJIS vs BOM付きUTF-8

Excelでcsvファイルを保存する際には、デフォルトでSJISでエンコーディングされます。
SJISは日本語特有のエンコーディングのため、主に日本国内でしか使用されず。
一方、UTF-8は国際標準のUnicodeをベースにしたエンコーディングであるため、
世界的に広く使われており、多言語対応しています。
ただExcelではUTF-8をそのまま読み込むと文字化けするため、BOM付きで保存して上げる必要があります。

どちらを採用するにしても問題が生じる事はあるみたいですが、SJISの方が問題が多そうなため、
BOM付きUTF-8で出力するようにしました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?