docs/README_EncodingFix.md
(开头部分) 1KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
# ASP.NET WebForms 文件编码修复工具
## 问题描述
ASP.NET WebForms 需要 UTF-8 BOM(字节顺序标记)来正确识别文件编码。没有 BOM 会导致中文字符显示为乱码,出现"服务器标记的格式不正确"错误。
## 解决方案
提供了两个脚本工具来批量修复 ASPX 文件的编码问题:
### 1. PowerShell 脚本 (`FixAspxEncoding.ps1`)
**功能特性:**
- 支持模拟运行(预览模式)
- 详细输出模式
- 支持自定义项目路径
- 错误处理和统计信息
**使用方法:**
```powershell
# 在当前目录修复
.\FixAspxEncoding.ps1
# 模拟运行(预览效果)
.\FixAspxEncoding.ps1 -WhatIf
# 详细模式
.\FixAspxEncoding.ps1 -Verbose
# 指定项目路径
.\FixAspxEncoding.ps1 -ProjectPath "C:\MyProject\"
```
### 2. 批处理脚本 (`FixAspxEncoding.bat`)
**功能特性:**
- 简单易用,双击即可运行
- 自动检测当前目录
- 支持命令行参数指定路径
**使用方法:**
```cmd
# 在当前目录修复
FixAspxEncoding.bat
# 指定项目路径
FixAspxEncoding.bat "C:\MyProject\"
```
## 技术原理
- **UTF-8 BOM**:三个字节 `EF BB BF`,位于文件开头
- **问题原因**:ASP.NET WebForms 解析器需要 BOM 来正确识别 UTF-8 编码
- **修复方法**:使用 `[System.Text.UTF8Encoding]::new($true)` 重新写入文件
## 文件检查
脚本会自动检查每个 ASPX 文件:
1. 读取文件前三个字节
2. 检查是否为 `EF BB BF`
3. 如果没有 BOM,则重新写入文件
4. 如果已有 BOM,则跳过
## 安全说明
- 脚本会备份原始文件内容
- 支持模拟运行预览效果
后面还有 12 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。
