Failas yra geras – jis buvo nuskaitytas klaidingai
Subtitrų faile saugomi baitai. Norint paversti baitus simboliais, reikia žinoti, kokia koduote jie buvo parašyti – jei suklysite, gausite mojibake. Iš failo nedingo nė vienas baitas; nuskaitykite jį iš naujo su tinkama koduote ir simboliai sugrįš.
Tai padalija darbą į dvi dalis: išsiaiškinti, kokia koduote jis prasidėjo ir išsaugoti jį kaip koduotę, kurią jūsų grotuvas gali aptikti. Pirmasis kyla iš bandomojo dekodavimo ir vertinimo, antrasis – iš kopijos išsaugojimo. Jie sprendžia skirtingas problemas.
Penkios išvaizdos, penkios priežastys
„Mojibake“ nėra atsitiktinis – jo išvaizda išduoda, kas jį sukėlė:

Kodėl pakeitimo simbolio negalima pataisyti
Pakeitimo simbolis yra skiriamoji linija. `�` reiškia, kad baitai jau buvo išmesti ankstesniame žingsnyje (paprastai kokia nors programa skaito failą ir išsaugo jį iš naujo) ir nieko nebuvo įrašyta apie tai, kas buvo atmesta. Tuo metu nėra ko mąstyti atgal – niekas negali jo pataisyti.
Todėl taisymo puslapis du atvejus sprendžia skirtingai. Įkelkite failą ir originalūs baitai bus nepažeisti, leidžiantys išbandyti kiekvieną koduotę; jei įklijuotame tekste jau yra pakeitimo simbolio, jis aiškiai sako: „negalima pataisyti, įkelkite originalų failą“.
Taip pat yra ir atvirkštinis atvejis: turinys skaitomas puikiai, bet grotuvas vis tiek rodo šlamštą. Failas nėra kaltas – grotuvas pasirinko neteisingą koduotę. Teksto redagavimas nepadės; išsaugokite kopiją kaip UTF-8 su BOM arba GBK ir pateikite ją jam.

Ką jis lygina taisydamas
Įrankis išbando kiekvieną tikėtiną koduotę, tada įvertina kiekvieną rezultatą: kiek jo sudaro dažni simboliai, ar yra akcentų eilučių, simbolių eilučių, ar CJK raidžių virtinės yra neaiškių simbolių sienos. Geriausiai įvertintas rezultatas patenka į sąrašo viršų.
Jei jokių taškų nėra akivaizdžiai geresnių, niekas nerekomenduojama – geriau pasakyti „tai skaitosi gerai kaip yra“, nei apgauti jus kažkuo, kas tik miglotai primena kalbą. Du kartus sugadintas tekstas (vieną kartą neteisingai išsaugotas, o po to neteisingai pataisytas) gauna dar vieną atgalinio sprendimo etapą geriausiems kandidatams.

Tinkamos koduotės išsaugojimas užbaigia darbą
Pataisytą tekstą vis tiek reikia išsaugoti kaip koduotę, kurią jūsų grotuvas atpažįsta. „Windows“ grotuvai paprastai pasikliauja BOM, kad aptiktų koduotę, todėl UTF-8 su BOM kelia mažiausiai problemų; senesnei aparatinei įrangai ir kai kuriems regioniniams grotuvams reikia GBK. Galite pasirinkti UTF-8, UTF-8 (su BOM), GBK, Big5, Shift_JIS arba EUC-KR, ir jums bus liepta pasirinkti kitą, jei kažkas netinka (GBK negali talpinti korėjiečių k.).

Susiję įrankiai ir vadovai
Išsamus vadovas – Kaip pataisyti sugadintus subtitrus; kas iš tikrųjų saugoma SRT faile – Kas yra SRT failo viduje; koduotė gera, bet turinys purvinas (vandens ženklai, reklamos, kurčiųjų žymos) – Subtitrų valymas.