Python 解决csv存储中文乱码问题
第一次学习csv文件写入的时候,就遇到了中文乱码问题
解决方案:
首先了解一个新知识:
utf-8 分为两种,一种是不带BOM的,编码方式为utf-8;一种是带BOM的(BOM:Byte order mark),编码方式为utf-8-sig,其中sig的全拼是signature,也就是带有标签的utf-8。
通常不带BOM才是标准形式,带BOM主要是微软的习惯。
基于上述,我们的文件乱码的主要原因就是windows对于utf-8格式的文件存储默认带BOM格式(BOM:Byte order mark)。所以只要将我们程序中的编码方式从encoding='utf-8’改成encoding='utf-8-sig’即可。
原代码:
修改后的代码:
Bingo!再执行,问题解决啦!