Почему субтитры показываются кракозябрами
В файле SRT нигде не указано, в какой он кодировке. Большинство русских субтитров на сайтах и в раздачах сохранены в Windows-1251 – так их годами сохраняли Блокнот и редакторы субтитров. Телевизоры, медиаплееры и приложения на Android обычно читают субтитры как UTF-8 или как западную Windows-1252. Отсюда три вида ошибок:
ÏðèâåòвместоПривет– файл в Windows-1251 прочитан с западными настройками. Так бывает на телевизорах, купленных за границей, и в плеерах с английским интерфейсом.�или пустые квадраты – плеер ждёт UTF-8 и не может прочитать байты Windows-1251. Буквы при этом целы, файл нужно только перекодировать.Привет– обратный случай: файл уже в UTF-8, а в плеере вручную выбрана Windows-1251.
Кракозябры
1 00:00:01,000 --> 00:00:03,500 Ïðèâåò! Òû ãäå ïðîïàäàë? 2 00:00:04,000 --> 00:00:06,200 Æäàë òåáÿ âåñü âå÷åð.
После исправления
1 00:00:01,000 --> 00:00:03,500 Привет! Ты где пропадал? 2 00:00:04,000 --> 00:00:06,200 Ждал тебя весь вечер.
Как исправить файл субтитров
- Перетащите файл
.srtили.vttв поле выше. - Mojibuster определит кодировку и исправит испорченные буквы. В результатах видно, как был прочитан файл.
- Скачайте файл и положите его рядом с видео вместо старого. Имя должно совпадать с именем видео, например
film.srtдляfilm.mkv.
Номера, тайминг вида 00:01:15,250 --> 00:01:18,000, пустые строки и теги вроде <i> не меняются – Mojibuster трогает только испорченные буквы.
Кракозябры
7 00:02:10,400 --> 00:02:13,000 Спасибо, что приехал.
После исправления
7 00:02:10,400 --> 00:02:13,000 Спасибо, что приехал.
Настройки плееров и телевизоров
- VLC: в настройках субтитров есть параметр кодировки по умолчанию. Можно выбрать кириллицу Windows-1251, но надёжнее один раз перекодировать файл в UTF-8 – тогда он откроется везде.
- Kodi: набор символов для субтитров задаётся в настройках проигрывателя, в разделе языка.
- MX Player на Android позволяет выбрать кодировку в настройках субтитров. Если там стоит Windows-1251, а файл уже в UTF-8, получится
Привет. - Plex, Jellyfin и смарт-телевизоры (Samsung, LG, Android TV) надёжнее всего читают внешние субтитры в UTF-8 – после перекодировки ничего настраивать не нужно.
- WebVTT (
.vtt) по стандарту всегда в UTF-8.
? и � в самом файле
Если вместо букв в файле стоят ? – их видно в любом редакторе, – буквы потеряны: кто-то уже пересохранил субтитры в кодировке без кириллицы. То же с �, которые остаются после перекодировки. Такие символы вернуть нельзя, Mojibuster только покажет, сколько их. Поможет лишь другая версия субтитров.
Подробнее о старых кодировках: Windows-1251, KOI8-R и CP866 в UTF-8. Почему вообще появляются кракозябры: что такое кракозябры.
Частые вопросы
Тайминг не собьётся?
Нет. Mojibuster меняет только испорченные символы – время, номера и пустые строки остаются как были.
Что делать с субтитрами .ass или .ssa?
Mojibuster не открывает их напрямую. Временно переименуйте файл в .txt, исправьте его и верните прежнее расширение.
Нужен ли субтитрам BOM?
Нет. Большинство плееров лучше работают без BOM, поэтому для SRT и VTT Mojibuster его по умолчанию не добавляет.
После перекодировки плеер всё равно показывает кракозябры?
Проверьте, не выбрана ли в плеере фиксированная кодировка. Переключите её на UTF-8 или «Авто».