前几天遇到车上歌词乱码问题。查了一下,可能是lrc歌词文件编码的问题。

查看了一下源文件的编码是带BOM的UTF-8模式,可能是需要转换成ANSI编码。于是手动的用记事本打开了一个然后另存为ANSI编码,结果乱码问题解决。请输入图片描述

可是几千首这样一个一个改,不现实。于是找了很多软件,发现批量处理都很麻烦,甚至是无法批量处理。最后就写了一个批处理文件,轻松搞定。

@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

set "total=0"
set "success=0"
set "fail=0"

echo 正在扫描.lrc文件并进行转码...

for /r %%a in (*.lrc) do (
    set /a total+=1
    echo [!total!] 正在处理:"%%a"
  
    powershell -Command "$content=Get-Content '%%a' -Encoding UTF8 -ErrorAction Stop; $content | Out-File '%%a' -Encoding Default -ErrorAction Stop"
  
    if !errorlevel! equ 0 (
        echo ★★转换成功★★: %%a
        set /a success+=1
    ) else (
        echo 转换失败: %%a
        set /a fail+=1
    )
)

echo ==========统计结果==========
echo 总文件数    : %total%
echo 转换成功数  : %success%
echo 转换失败数  : %fail%
echo ===========================
pause

想使用的小伙伴,可以把上述代码复制到记事本里面,然后另存为bat就可以了。

最后修改:2025 年 03 月 24 日
如果觉得我的文章对你有用,请随意赞赏