吴幼莉
颁布于 上观新闻
+关注
中文字幕出现乱码时,通常必要把字幕文件的文字编码从 GBK、GB18030 或其他旧编码转换为 UTF-8。最稳妥的做法是吓酌正确的原始编码打开字幕,确认中文显示正常,再将文件另存为 UTF-8,最后沉新加载到播放器中。只批改文件后缀名,不能扭转字幕的现实编码。
先分清字幕体式和文字编码
字幕文件的“体式”和“编码”不是一回事。SRT、ASS、SSA、VTT暗示字幕内容的组织体式,决按功夫轴、形状和标签若何保留;UTF-8、GBK、GB18030、Big5暗示文字若何写入文件,决定播放器能否正确鉴别中文。
例如,文件名为“电影.srt”只注明它是 SRT 字幕,不能注明它肯定选取 UTF-8 编码。把“电影.srt”改成“电影.ass”,不会建复乱码,反而可能导致播放器无法正常解析。处置中文字幕乱码时,通常只必要转换文字编码,尽量维持原来的字幕扩大名。
步骤一:用 Notepad++ 转换中文字幕编码
在 Windows 电脑上,Notepad++ 是处置字幕编码比力直接的工具。它既能按指定编码沉新打开文件,也能把已经正确显示的内容转换成新的编码。
- 备份原字幕。先复造一份字幕文件进行操作,保留原始文件,预防误保留后无法复原。
- 用 Notepad++ 打开字幕。若是打开后中文显示为≈斤拷”、问号或大量不成读字符,不要直接保留。
- 尝试原始编码。打开“编码”菜单,在中文字符集一栏尝试 GBK 或 GB18030。对于繁体中文字幕,也能够尝试 Big5。选择后,观察字幕文字是否复原正常。
- 确认文字可能正常阅读。只有在标题、对白和备注都显示正常后,才进行转换。此时显示正常的编码就是当前文件的读取编码。
- 转换为 UTF-8。再次打开“编码”菜单,选择“转换为 UTF-8”或“转换为 UTF-8-BOM”,而后保留文件。现代播放器通常优先使用不带 BOM 的 UTF-8;较旧的 Windows 播放器若是鉴别异常,能够改用 UTF-8-BOM。
- 沉新加载字幕。关关播放器中原来的字幕,再加载转换后的文件,查抄中文、功夫轴和特殊符号是否正常。
必要把稳的是,“以某种编码打开”和“转换为某种编码”是两个分歧作为。前者只是通知软件若何读取原文件,后者才会扭转文件现实保留的编码。若原文件正本是 GBK,却在乱码状态下直接另存为 UTF-8,乱码也会被一路保留,之后再转换通常无法自动复原。
步骤二:用 VS Code 批改字幕文件编码
若是电脑上已经装置 VS Code,也能够实现同样的操作。这个步骤适合 SRT、ASS、VTT 等纯文本字幕。
- 用 VS Code 打开字幕文件,查看窗口底部显示确当前编码。
- 若是内容乱码,点击底部编码名称,选择“使用编码沉新打开”一类的选项。
- 顺次尝试 UTF-8、GBK 或 GB18030,直到中文内容显示正常。
- 再次点击编码名称,选择“使用编码保留”,将指标编码设为 UTF-8。
- 保留后查抄文件扩大名,确保原来的 .srt、.ass 或 .vtt 没有被改成其他类型。
使用 VS Code 时,不要把乱码文本复造到新文件后再保留,除非已经确认原内容可读。直接通过“沉新打开”和“使用编码保留”转换,可能更好地保留字幕的功夫轴、换行和 ASS 形状标签。
中文字幕应该改成哪一种编码
| 指标编码 |
合用情况 |
注明 |
| UTF-8 |
电脑、手机、网页播放器和大无数现代播放器 |
通用性较好,通常作为首选 |
| UTF-8-BOM |
部门较旧的 Windows 软件或播放器 |
文件开头带象征,便于旧法式鉴别 UTF-8 |
| GBK 或 GB18030 |
明确要求中文本地编码的旧软件 |
只有指标播放器不支持 UTF-8 时才优先思考 |
| Big5 |
原始字幕为繁体中文旧编码 |
重要用于繁体中文环境,不适合作为简体字幕的默认选择 |
若是没有特殊兼容要求,中文字幕通D芄幌茸晃 UTF-8。若转换后在某个老播放器中依然乱码,再尝试 UTF-8-BOM 或 GB18030。不要在多个编码之间反复打开并保留统一个文件,最好每次都从备份文件沉新操作。
播放器乱码时,先尝试批改字幕解码方式
有些情况并不是字幕文件自身有问题,而是播放器使用了谬误的解码方式。若是字幕在文本编纂器中显示正常,但放进播放器后乱码,能够先打开播放器的字幕设置,寻找“字幕编码”“文本编码”“字符集”或“解码方式”等选项。
- 加载字幕后,打开播放器的字幕或高级设置。
- 将自动鉴别改为 UTF-8,观察中文是否复原。
- 若是依然乱码,再尝试 GBK、GB18030 或中文本地编码。
- 切换编码后沉新载入字幕,部门播放器不会自动刷新已经加载的文件。
这种方式只扭转播放器读取字幕的方式,不会批改字幕文件。若是文件必要发送给其他设备或上传到视频平台,依然建议用文本编纂器把它正式转换为兼容性较好的编码。
内嵌字幕、表挂字幕和硬字幕的处置区别
表挂字幕是单独存在的 SRT、ASS 等文件,通D芄恢苯幼槐嗦。字幕文件名最好与视频文件名维持一致,例如视频为“片名.mkv”,字幕能够定名为“片名.srt”,这样播放器更容易自动加载。
内嵌字幕已经封装在 MKV、MP4 等视频容器中。若是播放器只是读取方式不正确,能够先批改播放器的字幕编码设置;若是必要真正改写文件编码,则要用支持提取字幕轨路的软件导出字幕,转换后再沉新封装。
硬字幕是已经压造到画面中的文字,字幕内容不再以独立文本存在。此时批改 SRT 或 ASS 文件不会影响视频画面,通常只能沉新造作字幕并沉新压造视频。
转换后若何确认了局
打开转换后的字幕文件,沉点查抄三部门内容:中文对白是否齐全、功夫轴是否依然依照原来的挨次排劣注ASS 等体式中的形状标签是否保留。SRT 文件通常应持续保留编号、起头功夫、实现功夫和对白内容;ASS 文件则要查抄字体、色彩、地位以及换行标签。
若是文字已经正常但播放器仍不显示字幕,还应查抄字幕是否启用、文件名是否匹配、字幕轨路是否被暗藏,以及播放器是否加载了另一份同名字幕。实现这些查抄后,中文字幕通常就能在指标设备上正常显示。