Files
MemRelay/projects/d5a7f581-c442-4554-87b9-ee723b8b0258/CapacityReport CSV 上传导入编码兼容方案.md
T

22 lines
1.1 KiB
Markdown

---
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。