Исправить кодировку субтитров
Или вставьте текст субтитров
Параметры
Это меняет то, как файл читается, а не то, что записывается. Обычно кодировка определяется по первым байтам: BOM, если он есть, UTF-8, если файл корректен как UTF-8, иначе Windows-1252. Для западноевропейских файлов это верно, для всего остального — нет, и японский, китайский, корейский или кириллический файл приходит экраном акцентированной бессмыслицы. Укажите кодировку здесь — и догадки пропускаются. «Определять автоматически» — значение по умолчанию, которое ничего не делает, поэтому его безопасно оставить. Учтите, что результат записывается обратно в UTF-8: браузеры умеют создавать лишь несколько кодировок, и ни одной из этого списка среди них нет. В этом и смысл страницы — текст выходит правильным и в форме, которую читает любой инструмент.
В какой частоте кадров считается тайминг. На страницах форматов это то, что нужно MicroDVD: он хранит время в номерах кадров. На страницах частоты кадров это частота, по которой файл был рассчитан, — версия, для которой делались субтитры, — а второе поле страницы принимает частоту видео, с которым вы будете их использовать. Обычные значения: 23,976, 24, 25, 29,97, 30, 50, 59,94 и 60. Ошибка сдвигает весь таймлайн, а на страницах частоты кадров — на коэффициент, а не на фиксированную величину.
Иногда файл субтитров открывается как экран символов, не принадлежащих ни одному языку: файл при этом не испорчен и текст не пропал, просто программа применила к байтам не то правило, и вышедшие знаки — это те же байты под другим правилом, а эта страница позволяет назвать правило самому и применяет его до того, как файл начнут разбирать как субтитры.
По умолчанию стоит auto: определение работает ровно так же, как раньше, поэтому файл, который читается правильно, от этой страницы не меняется. Если выбрать конкретную кодировку, файл читается ею, и это именно чтение, а не правка: байты не меняются, номера реплик, таймкоды и переводы строк остаются своими, а меняются только знаки, которые из этих байтов получаются.
Одно ограничение браузера стоит знать заранее: азиатские кодировки он умеет читать, но не умеет записывать, поэтому файл, исправленный как Shift-JIS, GBK, Big5 или EUC-KR, сохраняется в UTF-8, и если ниже по цепочке требуют исходную кодировку, переконвертируйте файл настольным инструментом. Принимаются все двенадцать форматов, и ничего не отправляется на сервер.
Примеры
Автоматическое определение на файле, который читается правильно
Вход
1
00:00:01,000 --> 00:00:02,000
The room is dark.
2
00:00:03,000 --> 00:00:04,000
A cold night.
Выход
1
00:00:01,000 --> 00:00:02,000
The room is dark.
2
00:00:03,000 --> 00:00:04,000
A cold night.
Значение по умолчанию и единственное, которое ничего не требует: при выборе auto кодировка не названа, поэтому файл читается точно так же, как до появления этой страницы. Поэтому открывать её на файле, в котором вы не уверены, безопасно: если всё было в порядке, ничего не произойдёт. К этому же значению стоит возвращаться, если конкретный выбор сделал хуже.
Тот же файл, прочитанный как Shift-JIS
Вход
1
00:00:01,000 --> 00:00:02,000
こんにちは、いい天気ですね。
Выход
1
00:00:01,000 --> 00:00:02,000
こんにちは、いい天気ですね。
Один и тот же файл, прочитанный двумя способами. То, что оказывается в панели после чтения байтов как Shift-JIS, — японский текст, который в них и был; при чтении как западноевропейского те же байты дают строку посторонних букв с диакритикой, и именно это состояние приводит людей на эту страницу. В примере обе панели показывают читаемый вариант, потому что перечитывание происходит до разбора субтитров: на странице нет шага, где на экране были бы неправильные знаки вместо правильных.
Западноевропейский файл, который автоопределение читает как UTF-8
Вход
1
00:00:01,000 --> 00:00:02,000
Café Ã la carte
Выход
1
00:00:01,000 --> 00:00:02,000
Café Ã la carte
Трудный случай и единственный, где auto и названная кодировка расходятся в браузере. Байты файла случайно образуют корректную последовательность UTF-8, поэтому догадка — UTF-8, и переданные знаки не те, что записаны в файле. Явное указание ISO-8859-1 заставляет прочитать файл как западноевропейский. Таблица кодировки в обоих случаях одна и та же — это и есть часть, которую легко понять неправильно по старой документации: выбор отменяет догадку, а не меняет таблицу.
Частые вопросы
Почему в субтитрах вместо текста странные символы?
Потому что байты прочитали по неверному правилу. В файле лежит японский, корейский или кириллический текст в кодировке той программы, которая его записала, а программа, открывшая файл, предположила другое — очень часто локальную кодовую страницу машины, а не кодировку файла. Ничего не испорчено: те же байты под правильным правилом дают правильный текст, и именно это делает выбор кодировки на этой странице.
Как узнать, в какой кодировке на самом деле файл субтитров?
Обычно по тому, чем он создан. Японский файл из японского инструмента Windows скорее всего Shift-JIS, китайский с материка — GBK, с Тайваня — Big5, корейский — EUC-KR, а кириллица чаще всего Windows-1251. Если это неизвестно, попробуйте по очереди: неверный выбор даёт символы, правильный — текст, поэтому файл опознаётся за несколько секунд без всякого знания о нём.
Что будет, если выбрать неверную кодировку для субтитров?
Знаки станут другим набором неверных знаков, и больше ничего не произойдёт: исходный файл на диске не тронут, никуда ничего не отправлено и не сохранено. Попробовать ещё раз ничего не стоит. Единственный исход, за которым стоит следить, — файл читается правильно, но в начале первой строки видна подозрительно длинная вереница символов: значит, в файле есть отметка BOM, и выбранная кодировка прочитала её как знаки.
Почему исправленный файл сохраняется в UTF-8, хотя я выбрал Shift-JIS?
Потому что браузер эту кодировку читает, но не записывает. Файл, прочитанный как Shift-JIS, GBK, Big5 или EUC-KR, записывается обратно в UTF-8, где помещается каждый содержащийся в нём знак и которую ждёт почти всё современное программное обеспечение. Текст субтитров — ровно тот, что вы видите в панели; изменился только контейнер. Если ниже по цепочке нужна исходная кодировка, переконвертируйте исправленный файл настольным инструментом.
Меняет ли исправление кодировки текст субтитров?
Нет. Байты файла не изменяются, и ни один знак не добавляется, не удаляется и не заменяется; меняется правило, по которому эти байты превращаются в текст, а всё после этого шага работает уже с правильным текстом. Номера реплик, таймкоды и переводы строк — собственные у файла, ровно как и на любой другой странице операций.
Достаточно ли автоматического определения кодировки?
Для большинства файлов достаточно, и поэтому оно стоит по умолчанию: файл, который читается правильно, не должен требовать от вас никаких указаний. Кодировку задают, когда текст явно неверен, когда известно, чем создан файл, или когда пакет пришёл из одного источника и должен читаться единообразно. Один случай, где это не поможет: файл в кодировке, декодера для которой у браузера нет вовсе, — он останется неверным при любом выборе.