问题背景
python生成的csv文件,以utf-8格式保存,windows下office excel打开时,德文等语言会部分显示乱码
(图待补)
问题原因
windows的excel打开csv默认是按ANSI格式,不是utf-8
随便新建一个文件都是默认ANSI,用记事本打开,再“另存为”可以看到。
解决思路
1.改文件编码格式。把生成的utf8编码的csv用记事本打开,右键另存,选择ANSI编码,再打开。
2.修改windows文件操作的默认编码方式为utf8。理论上是治根,但没找到解决方案,只看到txt的。
3.excel打开文件前指定编码。可以选择文件导入方式,在导入向导中,将File_Origin更改为“65001 UTF”,并将分隔符更改为逗号,但太麻烦。相关链接:https://cloud.tencent.com/developer/ask/50049
实际方案
公司是office2007,家是wps2019.
方案一:使用WPS2019。实测WPS2019是可以直接正常打开utf8编码的CSV文件,猜测可能是有解决方案,office新版本没测过,公司2007是乱码的。(WPS还有护眼模式,好评)
方案二:每次打开CSV文件前先修改编码格式为ANSI。或者考虑以后脚本生成的CSV文件多做一步转码的动作。