Napisy zniekształcone / złe znaki w VLC: napraw kodowanie

Problemy z napisami Ostatnia aktualizacja: Dotyczy: All platforms · VLC 3.0.x

Zniekształcone napisy — znaki zapytania, czarne diamenty albo ściana bezsensownych znaków — to problem z kodowaniem tekstu, a nie uszkodzony plik napisów. Plik napisów jest w porządku; VLC dekoduje go złą tablicą znaków. To niezwykle częste ze starszymi plikami SRT zapisanymi jako Windows-1252 lub Środkowoeuropejskie, i równie częste z plikami UTF-16. Jedna zmiana preferencji naprawia to globalnie; nadpisanie per plik naprawia natychmiast.

Dlaczego tak się dzieje?

  • Złe domyślne kodowanie w VLC — VLC zakłada UTF-8; starsze pliki w Windows-1251/1252/GBK są błędnie odczytywane.
  • Napisy zakodowane w UTF-16 — niektóre narzędzia zapisują SRT jako UTF-16 z BOM; autowykrywanie VLC czasem wybiera złą stronę.
  • UTF-8 bez BOM z zawartością chińską/cyrylicą — bez BOM VLC może zgadnąć starszą stronę kodową.
  • ASS/SSA z nieobsługiwanymi nagłówkami zestawu znaków — plik deklaruje jedno kodowanie, a zawiera inne.

Jak to naprawić

Rozwiązanie 1Popraw wyświetlanie napisów (kodowanie)

Sprawia, że napisy wyświetlają się poprawnie

  1. Przejdź do Tools > Preferences > Subtitles (w sekcji "Subtitles / OSD").

    Otwierają się ustawienia napisów.

  2. Ustaw "Default encoding" na UTF-8 — a jeśli to nie zadziała, wypróbuj Windows-1252, Windows-1251 (cyrylica) lub stronę kodową odpowiadającą Twojemu językowi (albo wypróbuj Windows-1252 / Central European dla starych plików).

    Tekst jest dekodowany poprawnie.

  3. Kliknij Save i otwórz wideo ponownie.

    Napisy renderują się z nowymi ustawieniami.

UwagaUstawienia dla pojedynczego pliku: kliknij wideo prawym przyciskiem > Subtitle > Sub Track, aby wybrać ścieżkę; klawiszami G i H dostrajaj czas wyświetlania.

Rozwiązanie 2Nadpisz kodowanie dla jednego pliku (szybki test)

Naprawia bieżący plik w 10 sekund — i identyfikuje właściwą stronę kodową

  1. Podczas odtwarzania przejdź do Napisy > Ścieżka napisów (menu kliknięcia prawym przyciskiem) — otwórz podmenu „Kodowanie znaków”, jeśli dostępne.

    Pojawiają się opcje kodowania.

  2. Przełączaj między UTF-8, Windows-1252, Windows-1251, aż tekst będzie czytelny.

    Znaleziono właściwe kodowanie.

  3. Zanotuj działające kodowanie i ustaw je jako domyślne w preferencjach.

    Przyszłe pliki tego typu dekodują się poprawnie.

UwagaVLC 3.0 eksponuje wybór kodowania per ścieżkę przez Napisy > Kodowanie znaków na niektórych platformach; na innych użyj domyślnego globalnego.

Rozwiązanie 3Zapisz napisy ponownie jako UTF-8

Trwała poprawka na poziomie pliku

  1. Otwórz .srt w Notepad++ (lub VS Code / dowolnym edytorze z kontrolą kodowania).

    Plik się otwiera, być może zniekształcony.

  2. Menu > Kodowanie > Konwertuj na UTF-8 (bez BOM jest w porządku).

    Plik zostaje przekonwertowany.

  3. Zapisz, przeładuj wideo w VLC.

    Napisy renderują się poprawnie wszędzie, na każdym urządzeniu.

UwagaKonwersja na UTF-8 sprawia, że napisy są przenośne — VLC, telewizory, telefony i odtwarzacze sieciowe wszystkie niezawodnie obsługują UTF-8.

Rozwiązanie 4Przywróć domyślne ustawienia VLC

Usuwa uszkodzone ustawienia powodujące awarie, czarny ekran i problemy z dźwiękiem

  1. Zamknij VLC całkowicie.

    Żaden proces VLC nie jest uruchomiony.

  2. Otwórz wiersz polecenia (Win+R → cmd) lub terminal.

    Wiersz polecenia jest dostępny.

  3. Wykonaj: vlc --reset-config (Windows/Linux) — w macOS usuń zamiast tego ~/Library/Preferences/org.videolan.vlc.

    Ustawienia VLC zostają przywrócone do domyślnych.

  4. Uruchom VLC i skonfiguruj ponownie tylko te opcje, których naprawdę potrzebujesz.

    VLC startuje z czystymi ustawieniami.

UwagaTo usuwa wszystkie własne ustawienia (w tym skróty klawiszowe i skórki). Jeśli chcesz mieć kopię zapasową, najpierw wyeksportuj konfigurację w Tools > Preferences > All > Interface.

Zaawansowane naprawy

Rozwiązanie 1Napraw pliki ASS ze złymi nagłówkami zestawu znaków

Obsługuje napisy stylowe ignorujące ustawienia kodowania

  1. Otwórz plik .ass w edytorze tekstu i sprawdź nagłówek „Script Info” pod kątem linii zestawu znaków.

    Nagłówek jest widoczny.

  2. Jeśli plik zawiera rosyjski/chiński w przeciwnym razie nagłówku UTF-8, zapisz go ponownie jako UTF-8 i usuń wszelką linię nadpisania zestawu znaków.

    Nagłówek zgadza się z zawartością.

  3. Przeładuj w VLC — styling ASS teraz działa z poprawnym tekstem.

    Napisy stylowe są czytelne.

UwagaPliki ASS niosą własne metadane czcionki i zestawu znaków; gdy są w konflikcie, plik musi zostać naprawiony — VLC podąża za nagłówkiem.

Jak tego uniknąć

  • Zapisuj napisy jako UTF-8 domyślnie.
  • Używaj narzędzi (subliminal, subdownloader), które wypisują UTF-8.
  • Jeśli ręcznie edytujesz napisy, zachowaj BOM lub upewnij się, że edytor zapisuje UTF-8.

Częste pytania

Dlaczego moje napisy pokazują się jako ramki (□) w VLC?
Ramki oznaczają, że czcionka nie ma glifów dla znaków, albo kodowanie jest złe. Najpierw napraw kodowanie; jeśli ramki utrzymują się przy poprawnym kodowaniu, brakuje czcionki dla pisma — zmień czcionkę napisów w preferencjach.
Czy VLC obsługuje napisy chińskie, cyrylicę lub arabskie?
Tak, z czcionką obejmującą pismo. Kodowanie musi być UTF-8 (lub odpowiednią stroną kodową). Dla arabskiego/hebrajskiego włącz też opcję RTL w preferencjach napisów.
Napisy wyglądają dobrze w Notatniku, ale są zniekształcone w VLC — dlaczego?
Notatnik autowykrywa kodowanie; VLC używa swojej skonfigurowanej wartości domyślnej. Ustaw domyślne kodowanie VLC tak, by pasowało do rzeczywistego kodowania pliku.
Zniekształcony tekst tylko w trybie pełnoekranowym?
To nietypowe i wskazuje na renderer, a nie kodowanie. Przełącz moduł wyjścia wideo lub zaktualizuj sterownik GPU.

Podsumowanie

Popraw wyświetlanie napisów (kodowanie) — Sprawia, że napisy wyświetlają się poprawnie. 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.