### What problem does this solve? 在纯离线模式下播放本地歌曲时,部分歌曲的歌词无法载入。 复现过程: 断网状态下,播放此前已导入并留存在本地的歌曲,歌词无法正常载入。 检查歌词文件与音频文件处于同一文件夹,命名规则也有对应关系,确认无误。 使用其他本地音乐软件导入同一批文件,歌词可正常显示。 排查后发现,WaveFlow 能正常载入的歌词均为 UTF-8 编码;无法载入的歌词均为 GB18030 编码。 初步结论:歌词文件编码为 GB18030 时无法读取,UTF-8 可以正常读取。 ### Proposed solution 本地歌词读取时兼容常见中文编码,即在按 UTF-8 读取失败后,自动回退尝试 GB18030(或 GBK)解码,从而让非 UTF-8 编码的本地歌词也能正常显示。 ### Alternatives considered 由用户手动将歌词文件转码为 UTF-8,对已有的大量本地文件来说操作成本高。 ### Rough scope Small (one card / one command / one menu entry) ### Anything else? foobar2000 歌词插件正常 https://github.com/ESLyric/release 这份压缩包中包含两份歌词,在使用WaveFlow播放的时候我确认和歌曲命名相同,但是只有UTF-8的那份能播放。 [麦恩莉-方大同.zip](https://github.com/user-attachments/files/33644359/-.zip)
Activity
InstaZDLL commentedon Oct 19, 2026
感谢反馈,也谢谢你附上的两份歌词文件,帮了大忙!
问题确认了:WaveFlow 之前只按 UTF-8 读取本地歌词,GB18030 编码的文件会被直接跳过。修复在 #917 里:先识别 BOM,再按 UTF-8 读取,失败时自动检测编码(GB18030/GBK、Big5、Shift_JIS、EUC-KR 等)。没有固定回退到 GB18030,是为了不把日文、韩文歌词错解成乱码。
我用你提供的 GB18030 歌词测试过,读出的内容和 UTF-8 版本完全一致。手动导入 LRC 和导入 .m3u 歌单也一起支持了。
先把这个 issue 重新打开,PR 合并后会自动关闭。
GoEverLo commentedon Oct 19, 2026
抱歉贸然关闭了issus,我不太熟悉开源软件的issus流程,以为打上 planned 标签表示会有相关规划就足够了。后续发布release,有这方面功能的更新,我会再测试的。
InstaZDLL commentedon Oct 19, 2026
没关系,完全不用道歉!你附上的示例文件和排查过程帮了很大的忙。
以后 issue 保持打开就好:修复合并后会自动关闭,你也会收到通知。
这个修复计划包含在下一个版本里。之前已经播放过、显示「无歌词」的歌曲,到时也会自动重新读取 GB18030 歌词,不需要清除缓存。
测试时如果发现任何问题,随时在这里留言。