字 AI-SRTSub

Звідки беруться кракозябри в субтитрах

Ті самі байти, прочитані як UTF-8 і як GBK, дають дві зовсім різні набори символів. Те, як виглядають кракозябри, — прямий доказ того, який крок пішов неправильно.

Оновлено 2026-10-17Вирішення проблем

Файл не пошкоджений, читання неправильне

У файлі субтитрів лежать байти. Щоб перетворити байти на символи, треба знати, в якому кодуванні їх записано — вибереш неправильно, вийдуть кракозябри. Сам файл не втратив жодного байта; прочитаєш його іншим кодуванням, і символи повернуться.

Отже кракозябри — це дві речі: розпізнати початкове кодування і зберегти в кодуванні, яке програвач розпізнає. Перше робить пробне читання з оцінкою, друге — збереження як.

П'ять виглядів, п'ять причин

Кракозябри не виникають випадково; їхній вигляд одразу видає причину:

  • Ряди літер з діакритикою (`ä½ å¥½`): текст у UTF-8 прочитали як кодування по одному байту — у UTF-8 символ це три байти, при читанні по одному байту кожен байт стає окремою літерою
  • Символи суцільно, але жодного звичного: UTF-8 прочитали як GBK — по два байти знову спаровуються, і виходять самі рідкісні символи
  • Повно символів валют і математичних символів: байти потрапили в область символів, часто при читанні як Mac Roman або родина Latin-1
  • Вплелися керуючі символи: байти потрапили в невидиму керуючу область, на екрані порожнеча або квадрат
  • Квадратний знак питання `�`: це символ-замінник, не кракозябри — він означає, що тут був символ, який при читанні вже зник
Картка діагностики: сліди кракозябрів перелічені по одному
Діагностика розкладає кракозябри за причиною, а не кидає все в одну купу

Чому символ-замінник не можна виправити

Символ-замінник — ключова межа. Якщо видно `�`, байти викинули ще на ранішому кроці (зазвичай якась програма один раз прочитала файл і один раз зберегла); від викинутої частини не лишилося жодного сліду. Зворотний висновок тоді не має опори — ніхто це не виправить.

Тому сторінка виправлення розділяє два випадки: при завантаженні початкові байти ще є і кожне кодування можна перепробувати по черзі; якщо у вставленому тексті вже є символ-замінник, кажуть прямо, що це не виправляється і треба завантажити початковий файл.

Є і зворотна ситуація: вміст читається цілком нормально, а в програвачі все одно кракозябри. Це не помилка файлу, а програвач вибрав неправильне кодування. Зміна файлу не допоможе; дай йому копію, збережену як UTF-8 з BOM або GBK.

Зона завантаження: два входи, перетягування і вставлення
Завантаж файл, якщо можеш — є байти, отже є що виправляти

Що порівнюють при виправленні

Інструмент перепробовує кожне можливе кодування по черзі й потім дає кожному результату оцінку: скільки звичних символів, чи є ряди діакритики, чи є ряди символів, чи йдуть символи суцільно рідкісні. Найвища оцінка — зверху.

Якщо оцінка не суттєво краща, нічого не рекомендується — краще сказати, що цей файл читається нормально, ніж відбутися натягнутим результатом. У файлів, оброблених неправильно двічі, робиться ще один крок зворотного висновку.

Список кандидатів: за оцінкою, кожен з парою кодувань
Кандидати за оцінкою; без суттєвої переваги нічого не рекомендується

Збереження в правильному кодуванні завершує справу

Виправлений текст треба ще зберегти в кодуванні, яке програвач розпізнає. Програвачі у Windows розпізнають кодування зазвичай за BOM, тому UTF-8 з BOM зберегти найпростіше; старі пристрої й локальні програвачі розпізнають GBK. Кодування на вибір: UTF-8, UTF-8 (з BOM), GBK, Big5, Shift_JIS, EUC-KR; якщо не вміщається — попросить вибрати інше.

Область результату: список кодувань Зберегти як і кнопка завантаження
Збережи в кодуванні, яке програвач розпізнає, тоді кракозябри справді вирішені

Пов'язані інструменти та посібники

Повний порядок дій у Як користуватися виправленням кракозябрів; що саме лежить у файлі SRT — у Що лежить у файлі SRT; якщо кодування нормальне, але вміст брудний (водяний знак, реклама, позначки для глухих), використай Очищення субтитрів.

Усе відбувається у браузері, нічого не треба встановлювати.

Відкрити виправлення

Схожі посібники