这个工具解决什么
同一段字节按 UTF-8 读和按 GBK 读,出来的是两套完全不同的字 —— 文件没坏,是读的时候按错了编码。修复器做的事是:
- 认出这份文件原本是什么编码,把字按正确的那套换回来
- 说清楚乱在哪儿:替换字符、控制字符、货币符号、成片音标字母、连片生僻汉字
- 按「哪一份最像人话」排出候选,选一个另存
- 播放器认不出编码时,另存一份带 BOM 的 UTF-8 或 GBK 交给它
传文件,别粘贴
两种入口能修的范围不一样,能传文件就传文件。传文件时原始字节还在,工具可以逐个编码试着读,认出它是 GBK 就按 GBK 解,一个字都不用猜。粘贴进来的已经不是原始字节了 —— 浏览器把字符串交过来时,错的那一步已经发生过了,只能靠倒推,能修多少算多少。
如果粘贴的内容里已经出现替换字符(那个方框问号 `�`),说明原始字节早就丢了,谁也修不回来。这种情况页面会直说:回到上面用「选择文件」上传原始文件。

诊断说了什么
上传之后诊断区给出结论。没发现乱码:这份内容读起来是正常的;如果你在播放器里看到的还是乱码,那是播放器按错了编码,到下面「另存为」换一种编码再丢给它。看着像乱码时,会列出具体是哪一种痕迹:
- 里面有替换字符 —— 原始字节已经丢了
- 混进了控制字符
- 夹着一堆货币符号、数学符号
- 带音标的字母成片出现 —— 像 UTF-8 被当成单字节读了(`ä½ å¥½` 这一种)
- 汉字连成片却一个常用字都没有 —— 像 UTF-8 被当成 GBK 读了(`浣犲ソ` 这一种)

候选怎么排,怎么选
「可以这样修」下面按哪一份最像人话排序列出候选,最多 12 条,每条标着它是从哪种编码读到哪种编码。点一个看看效果,选中之后到下面另存;不满意就点「保持原样」回到原始那份。
排序靠打分:常用字占比、成串的音标、成串的符号、生僻汉字都算进去。分数没有明显更好就不推荐 —— 不会为了凑一个候选硬推一个给你。被人连错两次的(存错一次、又修错一次),工具会对头几个候选再倒推一层,两层之内的都有机会救回来。

另存才是最后一步
修好了还要存对。播放器认不出 UTF-8 时,存一份带 BOM 的 UTF-8(Windows 播放器靠 BOM 认编码)或者 GBK,通常就好了。另存可选 UTF-8、UTF-8(带 BOM)、GBK、Big5、Shift_JIS、EUC-KR;装不下会提示你换一种(比如 GBK 装不下韩文)。下载的文件名自动加 `-fixed`。
认出来的编码不是 UTF-8 时,另存默认已经替你指到「带 BOM 的 UTF-8」;你自己动过下拉之后就不再替你改回去。

什么不会被动
只换读错的字。序号、时间轴、ASS 的样式指令一个字都不动。
常见问题
传文件了,为什么还让我另存? 文件本身多半没坏,坏的是播放器按错了编码读它。这种情形不用改文本里任何一个字,另存一份带 BOM 的 UTF-8 或 GBK 交给播放器就行。
粘贴的怎么修不回来? 粘贴内容里一旦出现替换字符,原始字节就已经没了,倒推也没有依据。回上面用「选择文件」传原始文件。
候选里没有我想要的? 打分没有明显优于当前这份时工具不推荐。可以先把「认出来的编码」换一种,再让它重排。
一次能修几份? 一次一份。修完下载,再传下一份。
隐私
识别和修复全程在浏览器本地完成,不向服务器发送任何字幕内容。
相关工具与指南
乱码是怎么来的、为什么 `浣犲ソ` 长那样,见 字幕乱码是怎么来的;编码正常但内容脏,用 字幕清洗;要检查时间轴和字数,用 字幕质检。