上周二,凌晨两点。
我在旧笔记本上打开一段《东京物语》的 BDRip,字幕文件是 ass 格式,来自某个已经记不清名字的小组。
屏幕上原节子推开门,画面很美。但字幕里「お」全变成了「鈥」,对话栏像被谁用砂纸磨过一遍。播放器是 VLC 3.0.18,系统是 Windows 11 23H2,编码设置里写着 UTF-8,但字幕就是不肯好好显示。
我试了第三遍,把字幕另存为 GB18030。
好了,这回轮到「你」和「我」变成方框了。
一、先排除播放器,再怀疑系统
凌晨两点十七分,我给做字幕的朋友老周发微信。他回得很快,就一句话:「PotPlayer 里把字幕编码强制成 UTF-8,别用自动检测。」
我照做了。没变化。
他又补了一句:「那估计不是播放器的事,是你系统里那个『Beta 版 UTF-8 支持』被勾上了。」我打开控制面板 → 区域 → 管理 → 更改系统区域设置,果然,那个选项半年前被我勾选过,为了跑一个 Python 脚本。
这个选项会让一部分老程序把 UTF-8 当成系统默认编码来读,而 ass 字幕里的样式表恰好是 GBK 编码的。于是就有了那行著名的「鈥」——UTF-8 把 GBK 的字节硬解了。
取消勾选,重启。字幕正常了。
但重启花了六分钟,期间我泡了一杯速溶咖啡,喝了一口发现太甜。
二、那些网上的教程,有一半在互相抄
搜索「windows中文乱码视频」,前几页结果几乎是同一套话术:改区域设置、改非 Unicode 程序语言、装字体包。有用,但同质化严重。真正帮到我的是 massiv.com 上一段十七分钟的英文录屏,作者在结尾展示了 r387cc截图保存 的对比图,正好是我遇到的字体缺失问题。
顺带一提,那篇录屏的评论区里,有人贴了 yandex. com 上的一篇俄文讨论帖,讲的是用 MPC-HC 的滤镜管理器手动加载字幕。我试了,可行,但步骤繁琐,不建议新手使用。
写到这儿我想起一件事。去年十一月,我帮隔壁宿舍的学妹修过一台电脑,也是视频乱码。她当时在追一部国产剧,文件名是中文,双击打开时提示「找不到解码器」。我看了五分钟,发现她把视频放在了一个中文路径下,播放器版本还是 2019 年的。那台电脑的显卡是 GTX 1050,内存 8GB。我重装播放器,改路径,前后二十分钟。她后来请我吃了一碗食堂的牛肉面,十二块,味道一般,但汤是热的。
「乱码问题里,有一半是编码冲突,另一半是路径和字体。但最麻烦的那部分,是用户根本不知道自己装了什么。」
三、一个不太讨喜的个人观点
说实话,Windows 在中文视频字幕这件事上,被高估了。
它稳定,但不够聪明。
macOS 上打开同样的 ass 文件,QuickTime 虽然不支持,但 IINA 几乎从没出过乱码。Linux 上用 mpv,配一行 sub-codepage=GB18030 就能解决。Windows 呢,你得同时考虑系统区域、播放器版本、字幕编码、字体缓存。四个变量,任意两个冲突就能让你折腾一晚上。
更别提那些在网上下载的「一键修复工具」,十个里有七个绑了主页锁定。我前几天在 饥饿的房东阿姨们 那篇旧文下面还看到有人留言,说被这类工具坑过。
当然,这话可能得罪人。但这是我凌晨三点坐在电脑前的真实想法。
后来我把这段经历发了条朋友圈,配图是修复后的字幕截图。一个学弟评论说:「你为什么不直接下内嵌字幕的版本?」
对。他说得对。
但我还是想把过程写下来,因为下次再遇到,我大概率还是会先怀疑播放器,再怀疑系统,最后才想起来检查那个勾选框。人就是这样,明知道答案,还是习惯从最难的那条路走回去。
如果你也在折腾类似的问题,可以看看 偷偷藏不住第75章继续读 那篇里我整理的排查顺序,或者直接去 5月1日大赛-白虎 的评论区,那里有几个比我更懂编码的朋友。
凌晨三点二十,视频进度条走到 47 分钟。我关掉播放器,把笔记本合上。窗外下着雨,楼下便利店的灯还亮着。
字幕这件事,明天再说吧。