中文字幕乱码修复(SRT、ASS、VTT)

下载的中文字幕在电视、Plex 或播放器里显示成 � 或 浣犲ソ 这样的乱码?问题几乎都出在编码:字幕是 GBK,播放器却按 UTF-8 读取,或者反过来。把字幕文件拖到下面的框中,Mojibuster 会自动修复并保存为 UTF-8。

支持文本和以下文件:

  • CSV
  • TXT
  • JSON
  • XML
  • SRT
  • VTT
  • TSV
  • MD
  • HTML
  • SQL
  • LOG

例如 Excel 导出、数据库备份、字幕或网站代码。

修复

  1. 拖入文件或粘贴文本
  2. 自动修复
  3. 复制或下载
或把文件拖到这里
  • 无需上传。 文件直接在浏览器中修复,不会离开你的设备。

  • 服务器位于欧盟。 Mojibuster 运行在 芬兰(欧盟)的服务器上,受《通用数据保护条例》(GDPR)约束。 GDPR 全文(EUR-Lex,英文)

为什么字幕会乱码

SRT 和 ASS 文件里没有写明自己用的是什么编码,播放器只能去猜。字幕网站和网盘里的很多中文字幕,尤其是几年前的老字幕,是用 GBK 保存的;而智能电视、Plex、Jellyfin、Kodi 大多默认按 UTF-8 读取,中文就变成 � 或方块。反过来,UTF-8 字幕被按 GBK 读取时,会显示成 浣犲ソ、瀛楀箷 这样的生僻字。

UTF-8 字幕被老播放器按 GBK 读取时

乱码

1
00:00:01,000 --> 00:00:03,500
鎴戜滑浠婃櫄鍘荤湅鐢靛奖

2
00:00:04,000 --> 00:00:06,000
鍑犵偣鍦ㄩ棬鍙h

修复后

1
00:00:01,000 --> 00:00:03,500
我们今晚去看电影

2
00:00:04,000 --> 00:00:06,000
几点在门口见

常见的乱码样子

  • � 或空白方块:GBK 字幕被按 UTF-8 读取。文件里的字节其实都还在,用原始文件就能完整恢复。
  • 浣犲ソ、瀛楀箷:UTF-8 字幕被按 GBK 读取。常见于 Windows 上的老播放器和一些电视盒子。
  • ÄãºÃ、×ÖÄ»:GBK 字幕在国外的播放器或西文系统中显示。这类旧文件的转换见 GBK 转 UTF-8。
  • いゅ辊 这样夹着日文假名的字:繁体 Big5 字幕被按 GBK 读取,下面单独说明。
GBK 字幕在国外的播放器中显示时

乱码

00:00:01,000 --> 00:00:03,500
ÖÐÎÄ×ÖÄ»ÒѾ­Í¬²½

修复后

00:00:01,000 --> 00:00:03,500
中文字幕已经同步

修复步骤

  1. 把 .srt 或 .vtt 字幕文件拖到上面的框中。
  2. Mojibuster 自动识别 GBK、GB18030、Big5 和 UTF-8,并修复乱码。用哪种编码读取的,会显示在结果区。
  3. 点击 下载,得到 UTF-8 格式的字幕,替换视频旁边的旧文件。文件名要和视频保持一致,播放器才会自动加载。

时间轴、序号、换行和斜体等格式标签都不会被改动,只有乱码的文字会被修复。

ASS、SSA 字幕怎么办

双语字幕和特效字幕常用 .ass 或 .ssa 格式。文件选择框目前不直接接受这两种扩展名,但它们和 SRT 一样是纯文本:把文件名改成 .txt,修复后下载,再把扩展名改回 .ass 就行。样式里的字体名(例如 微软雅黑)如果也乱了,会一起被修复。

如果编辑器里显示的是 �,请用改扩展名的方法处理原始文件,不要复制粘贴:� 里已经没有原来的字节了。

简体和繁体字幕互相乱码

繁体字幕多半来自台湾或香港,使用 Big5 编码。简体中文 Windows 和不少播放器会按 GBK 读取它,于是 中文字幕 变成 いゅ辊 这样夹杂日文假名和生僻字的乱码,有的字甚至显示为空白。反过来,GBK 字幕在繁体系统上会变成 笢恅趼躉。

这类文件请直接拖入原始文件:Mojibuster 会比较 GBK、Big5 等读法,选出最合理的一种;如果选错了,可以点击结果区提示中的 按 … 读取 换一种编码。注意:Mojibuster 只修复编码,不做简繁转换,Big5 字幕修复后仍然是繁体字。

各播放器的提示

  • VLC:在 工具 → 偏好设置 → 字幕 / OSD 中可以设置默认编码。但只能设一种,GBK 和 UTF-8 字幕混在一起时总有一部分会乱码。
  • PotPlayer:通常能自动识别编码,识别错误时可以在字幕设置里手动指定字符集。
  • Kodi:设置中可以为字幕指定字符集,同样只能选一种。
  • Plex、Jellyfin、Emby 和智能电视:基本都按 UTF-8 读取,外挂字幕请统一保存为 UTF-8(不带 BOM)。
  • WebVTT(.vtt)按规范必须是 UTF-8。

以后怎样避免

  • 下载字幕后先统一转成 UTF-8,再放进媒体库。
  • 用 Aegisub 等工具编辑字幕时,保存为 UTF-8。
  • 在 Notepad++ 中可以查看和转换单个文件的编码。
  • 不要把显示乱码的字幕直接另存:乱码被保存后可能变成 锟斤拷,原来的文字就丢失了(参见 乱码是什么?)。

常见问题

字幕里的 � 能修复吗?

要看 � 在哪里。如果是播放器把原始字幕显示成 �,文件本身没坏,把原始文件拖进来就能恢复。如果 � 已经被保存进文件,原来的文字就丢失了,只能重新下载字幕。

修复后时间轴会变吗?

不会。只改乱码的文字,时间轴、序号和换行(包括 Windows 的 CRLF)都保持不变。

电视上外挂字幕乱码怎么办?

大多数智能电视和电视盒子只认 UTF-8。用 Mojibuster 把字幕转成 UTF-8,和视频放在同一个文件夹并使用相同的文件名,再重新播放。

能把字幕转回 GBK 吗?

目前只能保存为 UTF-8。现在几乎所有播放器都支持 UTF-8,一般不需要 GBK。

字幕文件会被上传吗?

不会。处理完全在浏览器中进行,文件不会离开你的设备。

更多指南