docs/FixEncoding.bat

(开头部分) 5KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

:: ========================================
::    UTF-8 BOM Encoding Fix Tool v1.0
:: ========================================
::
:: 此脚本用于检查和修复 ASP.NET WebForms 项目中的文件编码问题。
:: ASP.NET WebForms 需要 UTF-8 BOM(字节顺序标记)来正确识别文件编码,
:: 否则中文字符可能显示为乱码,导致服务器标记解析失败。
::
:: 用法:
::   检查模式: FixEncoding.bat
::   修复模式: FixEncoding.bat fix
:: ========================================

echo ========================================
echo    UTF-8 BOM Encoding Fix Tool v1.0
echo ========================================
echo.

:: 设置项目路径(脚本所在目录的上级目录)
set "SCRIPT_DIR=%~dp0"
set "PROJECT_PATH=%SCRIPT_DIR%.."

:: 检查是否为修复模式
set "FIX_MODE=0"
if /i "%~1"=="fix" set "FIX_MODE=1"
if /i "%~1"=="-fix" set "FIX_MODE=1"

echo [Info] Project Path: %PROJECT_PATH%
echo [Info] Fix Mode: %FIX_MODE%
echo.

:: 统计变量
set /a TOTAL_FILES=0
set /a WITH_BOM=0
set /a WITHOUT_BOM=0
set /a FIXED_FILES=0

:: 创建临时VBS脚本用于检测和处理BOM
set "VBS_TEMP=%TEMP%\fix_encoding_%RANDOM%.vbs"

echo ' UTF-8 BOM Detection and Fix Script > "%VBS_TEMP%"
echo Const UTF8_BOM = ChrW(&HEF) ^& ChrW(&HBB) ^& ChrW(&HBF) >> "%VBS_TEMP%"
echo. >> "%VBS_TEMP%"
echo Function HasUTF8BOM(filePath) >> "%VBS_TEMP%"
echo     Dim stream, bom >> "%VBS_TEMP%"
echo     Set stream = CreateObject("ADODB.Stream") >> "%VBS_TEMP%"
echo     stream.Type = 1 ' Binary >> "%VBS_TEMP%"
echo     stream.Open >> "%VBS_TEMP%"
echo     stream.LoadFromFile filePath >> "%VBS_TEMP%"
echo     If stream.Size ^>= 3 Then >> "%VBS_TEMP%"
echo         bom = stream.Read(3) >> "%VBS_TEMP%"
echo         If AscB(MidB(bom, 1, 1)) = &HEF And _ >> "%VBS_TEMP%"
echo            AscB(MidB(bom, 2, 1)) = &HBB And _ >> "%VBS_TEMP%"
echo            AscB(MidB(bom, 3, 1)) = &HBF Then >> "%VBS_TEMP%"
echo             HasUTF8BOM = True >> "%VBS_TEMP%"
echo         Else >> "%VBS_TEMP%"
后面还有 99 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。