0x00. 表现
使用 Python 以 UTF-8 编码保存的 CSV 文件在使用 Excel 打开会出现中文乱码的情况。
0x01. 原因
Excel 会在根据 BOM 头 (EF BB BF) 来打开 UTF-8 编码的文件,所以需要手动插入BOM头即可解决。
0x02. 废话
手动插入 BOM 头对于一个习惯使用 Python 的 Bug 小能手来说很明显是不现实的…
0x03. 解决方案
Python3 打开文件时,编码选择 "utf-8-sig":
open(file=file_path, mode="w+", encoding="utf-8-sig")