整行方块与问号
文字被替换成连续的□□或者????,时间轴与字幕条数都正常。多见于用 UTF-8 打开 GBK 字幕,或用简体编码打开日文、韩文字幕。
更新日期:
周五深夜,小林把刚下载的日剧拖进播放器,台词整片变成方块和问号,音画却一切正常。这多半不是片源坏了,而是字幕文件的编码被读错了。下面把常见表现、编码与字幕格式的对应关系,以及从检测到另存的完整流程,按图解顺序排开,电脑端和手机端都能照着做。
文字被替换成连续的□□或者????,时间轴与字幕条数都正常。多见于用 UTF-8 打开 GBK 字幕,或用简体编码打开日文、韩文字幕。
出现「锟斤拷」一类固定串,或日文假名、韩文谚文被替换成 é、ã、¤。双字节编码当成单字节读取时,就会产生这种稳定但无意义的字符。
句子大体可读,只有少数汉字或符号显示为空框,通常出现在日文汉字与韩文上。这是播放器字幕字体缺少对应字形,编码本身并没有错。
压缩包解压后文件名变成随机字符,播放器找不到同名外挂字幕,或者加载的是同名但内容错配的旧文件。先处理文件名,再处理内容编码。
| 编码 | 常见来源 | 被误读时的表现 | 处理方向 |
|---|---|---|---|
| UTF-8(含 BOM) | 现代压制组、网页字幕 | 首行偶发乱码,或整行为问号 | 去除 BOM,保持 UTF-8 |
| GBK / GB18030 | 简体中文老字幕 | 连续方块、问号 | 按 GB18030 重读后另存 |
| Big5 | 繁体中文旧片源 | 字形错位、夹杂生僻符号 | 按 Big5 重读后转 UTF-8 |
| Shift-JIS | 日文原盘字幕 | 假名变拉丁字母串 | 按 Shift-JIS 重读后转 UTF-8 |
| EUC-KR / CP949 | 韩文剧集字幕 | 谚文整体变成乱码块 | 按 CP949 重读后转 UTF-8 |
| Windows-1252 | 欧美老片外挂字幕 | 重音字母变形、引号异常 | 按西文编码重读后转 UTF-8 |
SRT 与 VTT 是纯文本,改对编码基本就恢复正常。ASS / SSA 除了正文还带样式段与字体字段,编码改对后若字形依旧异常,还要检查字体名是否指向本地已有的字体。SUB / IDX 与 SUP 属于图形字幕,文字以图像保存,出现异常大多来自文件名或外挂路径,而不是字符编码。
先区分是文件名乱码、文本乱码还是字体渲染异常。文本可读但个别字空缺,直接跳到字体处理;整行方块则进入编码流程。
在 VS Code 里用「以编码重新打开」,在 Notepad++ 里用「编码」菜单,逐一切换 GB18030、Big5、Shift-JIS、CP949、UTF-8,直到文字恢复可读为止。
确认可读后另存为 UTF-8(优先不带 BOM),同时把 ASS 样式中的字体名改为本地已安装字体,避免换台设备再出问题。
在播放器字幕设置里指定字符集或直接使用 UTF-8,重新载入字幕。若仍异常,换一款播放器交叉验证,排除播放器自身的解码差异。
播放器读取字幕时使用的默认编码不同。把播放器字幕编码改成与文件一致,或者把字幕文件另存为 UTF-8,通常就能恢复。
先确认转码前用的解码方式是否正确,错误的解码会被原样保存;再检查是否残留 BOM,以及 ASS 样式里引用的字体名是否与本地字体匹配。
不是。整句可读而个别字空缺,属于字体缺字,换上覆盖对应字形集的字体后在样式中引用即可。
图形字幕把文字存成图像,不含文本编码,画面本身不会出现方块问号;遇到异常多来自文件名编码、外挂路径不匹配或转换环节。
多数移动端播放器允许指定字幕编码或字体,先统一把字幕另存为 UTF-8,再在播放器里选择对应编码与字体,兼容性最稳。