返回 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