Superset导出CSV文件中文或日文乱码

最近对接日本的数据源,视图页面显示正常,但是导出结果数据到CSV文件会出现乱码,经过查找原因是EXCEL表仅支持带BOM(Byte Order Mark)的表格式,否则出现乱码。

As UTF-8 is an 8-bit encoding no BOM is required and anyU+FEFF character in the decoded Unicode string (even if it’s the firstcharacter) is treated as a ZERO WIDTH NO-BREAK SPACE.

UTF-8以字节为编码单元,它的字节顺序在所有系统中都是一様的,没有字节序的问题,也因此它实际上并不需要BOM(“ByteOrder Mark”)。但是UTF-8 with BOM即utf-8-sig需要提供BOM,找到viz.py里面导出数据函数to_csv方法修改如下。

encoding编码改为“utf-8-sig"或”utf_8_sig"可以修复导出数据excel打开中文乱码的情况。

 

千里之行始于足下,成长就是守护和付出的过程,人生苦短,我用Python。
原文地址:https://www.cnblogs.com/JustToNight/p/7760177.html