--- title: CapacityReport CSV 上传导入编码兼容方案 type: experience permalink: main/projects/d5a7f581-c442-4554-87b9-ee723b8b0258/capacity-report-csv-上传导入编码兼容方案 stable_id: 2fd383a7-04dc-4fa9-9f0a-08531b417b44 scope: project project_id: d5a7f581-c442-4554-87b9-ee723b8b0258 memory_type: experience status: active revision: 1 restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2 created_at: '2026-09-23T15:08:21.813532+00:00' updated_at: '2026-09-23T15:08:21.813615+00:00' tags: - CapacityReport - CSV - UnicodeDecodeError - GBK - MetrixWarehouse --- 问题:数据管理上传由 Excel 保存为 ANSI 的 CSV 时,文件为 GBK/GB18030,而表头校验与 DatabaseManager.import_csv 固定使用 utf-8-sig,报 UnicodeDecodeError。解决:先以严格模式依次尝试 utf-8-sig、gb18030 扫描完整文件并选定编码;表头校验和实际导入复用同一编码。直连 MySQL 按原编码读取;MetrixWarehouse 遇到 GBK 系列时流式转为临时 UTF-8 BOM 文件再交给平台 API,并在成功或失败后删除临时文件。验证要覆盖 UTF-8、UTF-8 BOM、GBK 和真实用户 CSV。