teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

補足を追加

2020/12/09 17:48

投稿

Daregada
Daregada

スコア11990

answer CHANGED
@@ -1,3 +1,9 @@
1
1
  UTF-8で書かれたcsvファイルをダブルクリックしてExcelを開いたときに文字化けしないようにしたいということでしょうか。
2
2
 
3
- VSCodeのステータスバー(最下行)に表示された「UTF-8」をクリックし、「エンコード付きで保存」を選択し、「UTF-8 with BOM」を選択して、BOM(バイトオーダーマーク)付きにすればいいのでは。
3
+ VSCodeのステータスバー(最下行)に表示された「UTF-8」をクリックし、「エンコード付きで保存」を選択し、「UTF-8 with BOM」を選択して、BOM(バイトオーダーマーク)付きにすればいいのでは。
4
+
5
+ 補足: CSVファイルをダブルクリックしてExcelで開くと文字化けするのは、「エンコーディング情報を与えられていない状態なのでExcelがエンコーディングを(Shift_JISなどに)決め打ちして開くから」です。つまり、CSVファイルをダブルクリックしてExcelで開くこと自体が**とても筋の悪い**方法です。
6
+
7
+ 対策は、あなたもご存じのように、「Excel側でエンコーディングを指定して読む手順を踏む」ことで、新しいWindows版のExcelだとPower Queryエディター、ちょっと古いやつだとテキストファイルウィザードを使う際に、エンコーディングを明示することです。
8
+
9
+ (なぜかは知りませんが)「それがいやだ」となると、「UTF-8をBOM付きで保存する」とか「Shift_JISに変換して保存する」といった手段を取ることになります。それぞれ、「他のツールで処理するときにBOMが邪魔になることがある」とか、「Shift_JISには含まれない文字があると保存できない」といった問題があり、できればやりたくない類の処理ですね。