返回 Bug 清单
BUG-0937project-12低已修复powershell

Windows Python 脚本 Unicode box-drawing 符号在 Trae/PowerShell 子进程输出中乱码

发现:2026-10-09验证:2026-10-11置信度:70%

症状

后台运行 batch_git_sweep.py 时,Trae 工具输出显示大量乱码字符;但直接前台 python -c print() 显示正常

根因

Windows PowerShell 5.1 默认 cp936 (GBK),当 Python stdout 被 subprocess capture 或 Trae toolhost 重定向到文件时,UTF-8 三字节 Unicode box-drawing (═ ── ✅ 🔴 ⏳ ⊘) 被 GBK 单字节误解码 → 乱码

修复方案

① Python 脚本开头加 sys.stdout.reconfigure(encoding='utf-8', errors='replace') 强制 UTF-8;② 所有 Unicode box-drawing 符号替换成 ASCII (=, --, [OK], [FAIL], [WAIT], [SKIP]),彻底消除编码相关问题

错误签名

══════ 变成 姹囨€ 之类 mojibake;subprocess capture_output=True + cp936 GBK 误解码 UTF-8

技术信息

来源项目

project-12

涉及文件

scripts/git_sweep.py, scripts/batch_git_sweep.py

标签

project-12, mcp-reported, source-agent