chore: 导入旧记忆备份供恢复

This commit is contained in:
2026-09-23 22:38:40 +08:00
parent 5313fcee7a
commit 6a6a895eaf
638 changed files with 29816 additions and 1 deletions
@@ -0,0 +1,23 @@
---
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
memory_type: experience
project_id: d5a7f581-c442-4554-87b9-ee723b8b0258
usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939
status: active
revision: 1
request_id: 20260826-capacityreport-csv-encoding-experience-v1
created_at: '2026-08-26T02:32:42.966818+00:00'
updated_at: '2026-08-26T02:32:42.966818+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。