Субтитри у VLC спотворені / неправильні символи: виправлення кодування
Спотворені субтитри — знаки питання, чорні ромби або стіна безглуздих символів — це проблема текстового кодування, а не пошкоджений файл субтитрів. Файл субтитрів нормальний; VLC декодує його з неправильним набором символів. Це надзвичайно поширено із застарілими файлами SRT, збереженими як Windows-1252 або Central European, і так само поширено з файлами UTF-16. Одна зміна налаштування виправляє це глобально; перевизначення для окремого файлу — миттєво.
Чому це відбувається?
- Неправильне кодування за замовчуванням у VLC — VLC припускає UTF-8; застарілі файли у Windows-1251/1252/GBK читаються неправильно.
- Субтитри у кодуванні UTF-16 — деякі засоби зберігають SRT як UTF-16 із BOM; автовизначення VLC іноді обирає неправильний бік.
- UTF-8 без BOM із вмістом китайською/кирилицею — без BOM VLC може вгадати застарілу кодову сторінку.
- ASS/SSA із непідтримуваними заголовками charset — файл оголошує одне кодування, а містить інше.
Як виправити
Спосіб 1Виправте відтворення субтитрів (кодування)
Забезпечує правильне відображення субтитрів
Перейдіть до Інструменти > Налаштування > Субтитри (у розділі «Субтитри / OSD»).
Відкриваються налаштування субтитрів.
Встановіть «Типове кодування» на UTF-8 — а якщо не спрацює, спробуйте Windows-1252, Windows-1251 (кирилиця) або кодову сторінку вашої мови (або спробуйте Windows-1252 / Central European для старих файлів).
Текст декодується правильно.
Натисніть Зберегти й відкрийте відео знову.
Субтитри відтворюються з новими налаштуваннями.
Спосіб 2Перевизначте кодування для одного файлу (швидкий тест)
Виправляє поточний файл за 10 секунд — і визначає правильну кодову сторінку
Під час відтворення перейдіть до Субтитри > Доріжка субтитрів (меню правої кнопки) — відкрийте підменю «Кодування символів», якщо доступне.
Зʼявляються опції кодування.
Перебирайте UTF-8, Windows-1252, Windows-1251, доки текст не стане читабельним.
Знайдено правильне кодування.
Запишіть працююче кодування і встановіть його як типове в налаштуваннях.
Майбутні файли цього типу декодуються правильно.
Спосіб 3Збережіть субтитри повторно як UTF-8
Постійне виправлення на рівні файлу
Відкрийте .srt у Notepad++ (або VS Code / будь-якому редакторі з керуванням кодуванням).
Файл відкривається, можливо, спотворений.
Меню > Кодування > Перетворити на UTF-8 (без BOM — теж нормально).
Файл перетворено.
Збережіть, перезавантажте відео у VLC.
Субтитри рендеряться правильно скрізь, на будь-якому пристрої.
Спосіб 4Відновіть налаштування VLC за замовчуванням
Очищує пошкоджені налаштування, що спричиняють зависання, чорний екран і проблеми зі звуком
Повністю закрийте VLC.
Жоден процес VLC не запущено.
Відкрийте командний рядок (Win+R → cmd) або термінал.
Доступний командний рядок.
Виконайте:
vlc --reset-config(Windows/Linux) — у macOS натомість видаліть~/Library/Preferences/org.videolan.vlc.Налаштування VLC повертаються до типових.
Запустіть VLC і застосуйте повторно лише ті налаштування, які вам справді потрібні.
VLC запускається з чистими налаштуваннями.
Додаткові способи
Спосіб 1Виправте ASS-файли з неправильними заголовками charset
Обробляє стилізовані субтитри, що ігнорують налаштування кодування
Відкрийте .ass файл у текстовому редакторі та перевірте заголовок «Script Info» на рядок charset.
Заголовок видно.
Якщо файл містить російську/китайську мову в іншому як UTF-8 заголовку, збережіть його повторно як UTF-8 і видаліть будь-який рядок перевизначення charset.
Заголовок збігається зі вмістом.
Перезавантажте у VLC — стиль ASS тепер застосовується з правильним текстом.
Стилізовані субтитри читабельні.
Як уникнути в майбутньому
- За замовчуванням зберігайте субтитри як UTF-8.
- Використовуйте засоби (subliminal, subdownloader), що виводять UTF-8.
- Якщо редагуєте субтитри вручну, зберігайте BOM або переконайтеся, що редактор записує UTF-8.
Часті запитання
Чому мої субтитри показують квадратики (□) у VLC?
Чи підтримує VLC китайські, кириличні чи арабські субтитри?
Субтитри виглядають нормально в Блокноті, але спотворені у VLC — чому?
Спотворений текст лише у повноекранному режимі?
Підсумок
Виправте відтворення субтитрів (кодування) — Забезпечує правильне відображення субтитрів. If it does not help, work through the remaining fixes in order: each targets a different layer of the problem. Most users resolve this issue by fix 3 at the latest. Keep VLC updated (current stable: 3.0.23) and revisit this guide when a new VLC version ships.