编码 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()" 确认不乱码