1. 程式人生 > >Superset導出CSV文件中文或日文亂碼

Superset導出CSV文件中文或日文亂碼

csv odi 沒有 格式 enc wid nco pac com

最近對接日本的數據源,視圖頁面顯示正常,但是導出結果數據到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打開中文亂碼的情況。

Superset導出CSV文件中文或日文亂碼