字 AI-SRTSub

字幕乱码是怎么来的

同一段字节按 UTF-8 读和按 GBK 读,出来两套完全不同的字。乱码长什么样,就是被按错了哪一步的直接证据。

更新于 2026-10-17问题指南

文件没坏,是读错了

字幕文件里存的是字节。要把字节变成字,必须知道它按什么编码写的 —— 这一步选错了,出来的就是乱码。文件本身一个字节没少,换一种编码再读一次,字就回来了。

所以乱码分两件事:认出它原本是什么编码,和存成播放器认得出的编码。前者靠试读打分,后者靠另存。两件事修的是不同的问题。

五种长相,五种成因

乱码不是随机长出来的,它的长相直接暴露了成因:

  • 成片带音标的字母(`ä½ å¥½`):UTF-8 的中文被当成单字节编码读了 —— 中文在 UTF-8 里三字节一个字,单字节读会把每个字节各当成一个字母
  • 汉字连成片却没有一个常用字(`浣犲ソ`):UTF-8 被当成 GBK 读了 —— 两字节一组重新配对,配出来的都是生僻字
  • 一堆货币符号、数学符号:字节落到了符号区,常见于被当成 Mac 罗马或 Latin-1 系读
  • 混进控制字符:字节落进了不可见的控制区,屏幕上表现为空白或方块
  • 方框问号 `�`:这是替换字符,不是乱码 —— 它表示「这儿原本有个字,但读的时候已经丢了」
诊断卡:逐条列出乱码痕迹的类型
诊断把乱码按成因分成几类,不是笼统一句「是乱码」

替换字符为什么修不回

替换字符是关键分界线。出现 `�` 说明在更早的那一步(通常是某个程序把它读了一遍又存了一遍)字节就已经被丢掉了,丢掉的部分没有任何记录。这时候倒推没有依据 —— 谁也修不回来。

所以修复页面会分两种情形处理:传文件时原始字节还在,可以逐个编码试读;粘贴进来的内容里若已经出现替换字符,就直说「修不回来,请上传原始文件」。

顺带一个反过来的情形:内容读起来完全正常,播放器里却还是乱码。这不是文件的错,是播放器按错了编码。改文件没有用,另存一份带 BOM 的 UTF-8 或 GBK 交给它就行。

上传区:拖放上传与粘贴两个入口
能传文件就传文件 —— 字节在,才有得修

修的时候在比什么

工具把每种可能的编码都试一遍,然后给每份结果打分:常用字占多少、有没有成串的音标、有没有成串的符号、汉字是不是连片生僻。分数最高的那份排在最前面。

分数没有明显更好就不推荐 —— 宁可告诉你「这份读起来是正常的」,也不拿一个勉强像人话的结果糊弄你。被人连错两次的(存错一次、又修错一次),会对头几个候选再倒推一层。

候选列表:按打分排序,每条标注编码对
候选按打分排序,分数不占优就不推荐

存对编码才算完

修完的文本还要存成播放器认得出的编码。Windows 上的播放器常常靠 BOM 认编码,存一份带 BOM 的 UTF-8 最省事;老设备或国产播放器认 GBK。可选编码:UTF-8、UTF-8(带 BOM)、GBK、Big5、Shift_JIS、EUC-KR;装不下会提示换一种(比如 GBK 装不下韩文)。

结果区:另存为编码下拉与下载按钮
存成播放器认得出的编码,乱码才算真的解决了

相关工具与指南

完整操作见 乱码修复怎么用;SRT 文件里到底存了什么见 SRT 文件里写了什么;编码正常但内容脏(水印广告、听障提示)用 字幕清洗。

全程在浏览器里完成,无需安装。

打开乱码修复器

相关指南