From 271a7d2c40822eb07a99fae49bee5e44da577468 Mon Sep 17 00:00:00 2001 From: haoliang <821644@qq.com> Date: Wed, 29 Apr 2026 17:29:38 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20PowerShell=E7=BC=96=E7=A0=81?= =?UTF-8?q?=E5=B7=B2=E9=80=9A=E8=BF=87Profile=E6=B0=B8=E4=B9=85=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=EF=BC=8C=E7=A7=BB=E9=99=A4AGENTS.md=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E6=89=8B=E5=8A=A8=E7=BC=96=E7=A0=81=E4=BF=AE=E5=A4=8D=E8=A6=81?= =?UTF-8?q?=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 338ea80..29e1fc8 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -32,16 +32,10 @@ ### 3. 编码规范 -- **PowerShell中文编码修复(每次会话必须执行)**:PowerShell 5.1默认OutputEncoding为GB2312,中文路径/文件名输出会乱码。在执行任何涉及中文路径的PowerShell命令前,必须先设置编码: - ```powershell - [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 - [Console]::InputEncoding = [System.Text.Encoding]::UTF8 - $OutputEncoding = [System.Text.Encoding]::UTF8 - ``` +- **PowerShell编码**:已通过Profile永久配置UTF-8(`C:\Users\jiang\Documents\PowerShell\Microsoft.PowerShell_profile.ps1`),无需每次手动设置 - **文件写入编码规范**: - - 禁止使用PowerShell `Out-File -Encoding utf8` 写入文件(会产生UTF-8 with BOM + CRLF) - - 使用Node.js `fs.writeFileSync(path, content, 'utf8')` 写入文件(无BOM、LF换行) - - 或使用Write/Edit工具直接写入(无BOM、LF换行) + - 禁止使用PowerShell `Out-File -Encoding utf8` 写入文件(PS5.1会产生UTF-8 with BOM + CRLF) + - 使用Write/Edit工具直接写入(无BOM、LF换行) - 如必须用PowerShell写入,需用 `[System.IO.File]::WriteAllText($path, $content, [System.Text.UTF8Encoding]::new($false))` 避免BOM - 已有BOM文件修复:`node -e "const fs=require('fs');let b=fs.readFileSync('文件路径');if(b[0]===0xEF&&b[1]===0xBB&&b[2]===0xBF)b=b.slice(3);let t=b.toString('utf8').replace(/\r\n/g,'\n');fs.writeFileSync('文件路径',t,'utf8')"`