Filen er i orden – den ble lest feil
Det en undertekstfil lagrer, er byte. Å gjøre om byte til tegn krever at man vet hvilken koding de ble skrevet i – gjør du feil der, får du mojibake. Ikke én byte mangler fra filen; les den på nytt med riktig koding, så kommer tegnene tilbake.
Det deler jobben i to: finne ut hvilken koding den startet med, og lagre den i en koding spilleren din kan oppdage. Den første kommer fra prøv-og-feil-dekoding og poenggiving, den andre fra å lagre en kopi. De løser forskjellige problemer.
Fem utseender, fem årsaker
Mojibake er ikke tilfeldig – hvordan det ser ut, avslører hva som forårsaket det:

Hvorfor erstatningstegnet ikke kan repareres
Erstatningstegnet er skillelinjen. En `` betyr at bytene allerede ble kastet vekk på et tidligere trinn (vanligvis et program som leste filen og lagret den igjen), og ingenting ble registrert om hva som ble droppet. På det tidspunktet er det ingenting å resonnere bakover fra – ingen kan reparere det.
Dermed håndterer reparasjonssiden to tilfeller forskjellig. Last opp en fil der de originale bytene er intakte, slik at den kan prøve hver koding; hvis innlimt tekst allerede inneholder erstatningstegnet, sier den rett ut: «kan ikke repareres, vennligst last opp den originale filen».
Det finnes også det motsatte tilfellet: innholdet leses helt fint, men spilleren din viser fremdeles søppel. Det er ikke feil på filen – spilleren valgte feil koding. Å redigere teksten vil ikke hjelpe; lagre en kopi som UTF-8 med BOM eller GBK, og gi den den.

Hva som sammenlignes under reparasjon
Verktøyet prøver hver sannsynlige koding og gir deretter hvert resultat en poengsum: hvor mye av det som består av vanlige tegn, om det er strenger av aksenter, strenger av symboler, og om CJK-sekvensene er vegger av obskure tegn. Resultatet med best poengsum havner øverst på listen.
Hvis ingen poengsum er klart bedre, anbefales ingenting – det er bedre å fortelle deg «dette leses helt fint slik det er» enn å avspise deg med noe som bare vagt ligner på et språk. Tekst som er blitt ødelagt to ganger (lagret feil én gang, deretter reparert feil én gang), får én ekstra runde med baklengsløsning på de beste kandidatene.

Å lagre riktig koding fullfører jobben
Reparert tekst må fremdeles lagres i en koding spilleren din gjenkjenner. Spillere på Windows er vanligvis avhengige av BOM for å oppdage koding, så UTF-8 med BOM gir minst styr; eldre maskinvare og noen lokale spillere foretrekker GBK. Du kan velge UTF-8, UTF-8 (med BOM), GBK, Big5, Shift_JIS eller EUC-KR, og du vil bli bedt om å velge en annen hvis noe ikke passer (GBK kan ikke lagre koreansk).

Relaterte verktøy og guider
Den fullstendige gjennomgangen – Slik reparerer du mojibake-undertekster; hva en SRT-fil faktisk lagrer – Hva som finnes inni en SRT-fil; kodingen er fin, men innholdet er skittent (vannmerker, reklame, hørselshemmet-tagger) – Rengjøring av undertekster.