Защо субтитрите излизат с „маймуняци“
SRT файлът не съдържа информация в каква кодировка е записан. Повечето български субтитри от сайтовете за субтитри са запазени в Windows-1251 – така години наред ги записваха Notepad и програмите за субтитри. Телевизорите, медийните плейъри и приложенията за 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 в UTF-8. Защо изобщо се появяват странни символи: какво е mojibake.
Често задавани въпроси
Няма ли да се размести таймингът?
Не. Mojibuster променя само развалените символи – времената, номерата и празните редове остават същите.
Какво да правя със субтитри .ass или .ssa?
Mojibuster не ги отваря директно. Временно преименувайте файла на .txt, поправете го и върнете старото разширение.
Трябва ли BOM на субтитрите?
Не. Повечето плейъри работят по-добре без BOM, затова за SRT и VTT Mojibuster не го добавя по подразбиране.
След прекодирането плейърът пак показва странни символи?
Проверете дали в плейъра не е избрана фиксирана кодировка. Превключете я на UTF-8 или „Автоматично“.