问题描述:

在写入CSV文件时出现了字符乱码的问题

解决方法:

将写入文件编码格式utf-8改为utf-8-sig即可

两者的区别

”utf-8“ 是以字节为编码单元,它的字节顺序在所有系统中都是一样的,没有字节序问题,因此它不需要BOM,所以当用"utf-8"编码方式读取带有BOM的文件时,它会把BOM当做是文件内容来处理,也就会发生类似上边的错误

“uft-8-sig"中sig全拼为 signature ,也就是"带有签名的utf-8”。因此"utf-8-sig"读取带有BOM的"utf-8文件时"会把BOM单独处理,与文本内容隔离开,也是我们期望的结果

参考资料:

utf-8和utf-8-sig的区别

https://www.cnblogs.com/brady-wang/p/12492457.html

Unicode、UTF-8、UTF-16 终于懂了

https://zhuanlan.zhihu.com/p/427488961

最后修改:2023 年 08 月 23 日
如果觉得我的文章对你有用,请随意赞赏