编码
Bug
2026-03-08 ~ 03-12
🔤 PowerShell 中文编码大坑 — 写文件就乱码的元凶
🔴 遇到问题:用 PowerShell 的 Set-Content 写入中文文件,打开后全是乱码。涉及 IDENTITY.md、Nginx配置等多个文件。
🔍 发现问题:PowerShell 默认编码不是 UTF-8,Set-Content 和 -replace 操作符会改变文件编码。另外 PowerShell 中 $uri $host 是内置变量,通过SSH传Nginx配置时会被替换成空值。
✅ 解决问题:改用 Python 脚本写文件,或使用 OpenClaw 的 write 工具(自动UTF-8)。
🛡️ 如何避坑:
1. 永远不要用 Set-Content 写中文文件
2. 用 Python:with open(path, 'w', encoding='utf-8') as f: f.write(content)
3. Nginx配置别用PowerShell传,先本地写文件再SCP上传
4. 写完后验证:python -c "open('file').read()" 确认不乱码