Files
cc-web/.planning/file-preview-encoding/findings.md
2026-08-07 10:54:08 +08:00

673 B
Raw Blame History

调研结论

  • 前端 openFileBrowserFile 请求 /api/fs/read 后,将 data.content 原样写入 textContent,渲染层不会制造乱码。
  • 服务端 handleFileSystemReadApi 当前使用 previewBuffer.toString('utf8'),无效 UTF-8 字节会变成 U+FFFD。
  • 截图中的 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> 是典型替换字符,且相邻 ASCII 正常,符合 GBK/GB18030 被当成 UTF-8 解码的特征。
  • 项目当前只依赖 echartsws。Node 的 WHATWG TextDecoder 原生支持 gb18030,可避免新增包依赖。
  • server.jsscripts/regression.js 存在其他会话的未提交修改,编码修复必须以小范围追加方式完成。