Preskočiť na obsah
100% lokálne

Detektor znakov

Uhádnite pôvodné kódovanie za skomoleným textom a obnovte ho.

Vstup

Detektor znakov

Prilepte text tam, kde sa písmená s diakritikou zmenili na reťazce ako „Príliš“ alebo „GrĂ¶ĂŸe“ a tento nástroj uhádne, čo sa pokazilo. Obvyklou príčinou je otvorený, uložený alebo presmerovaný súbor UTF-8 cez niečo, čo predpokladá jednobajtovú kódovú stránku – Windows-1250 alebo ISO-8859-2 pre stredoeurópsky text, Windows-1252 pre západoeurópsky text. Každý znak s diakritikou mal pôvodne dva alebo tri bajty UTF-8; čítať jeden bajt po druhom pod nesprávnou kódovou stránkou, stávajú sa presne týmto druhom dvojitého odpadu.

Detektor funguje tak, že skúša obrátenie pre každú kandidátsku kódovú stránku a skontroluje, či je výsledok dobre vytvorený UTF-8 – štrukturálny test, ktorý správne zakódovaný text v podstate nikdy neprejde náhodou, a preto môže automatická detekcia použiť opravu so skutočnou istotou, a nie hodom mincou. Keď nájde zhodu, zobrazí uhádnuté pôvodné kódovanie, uhádnuté nesprávne prečítané kódovanie a obnovený text, plus koľko znakov oprava odstránila (mojibake je vždy dlhší ako text, z ktorého pochádza, pretože každý zlomený znak býval niekoľko).

Automatická detekcia iba uhádne overiteľný smer — UTF-8 sa zobrazí cez nesprávnu kódovú stránku. Zriedkavejší opačný prípad, súbor Windows-1250 alebo ISO-8859-2 čítaný ako Latin-1, nemá ekvivalentnú štrukturálnu kontrolu, takže sa ponúka ako manuálna možnosť v rozbaľovacej ponuke, keď už máte podozrenie, že sa to stalo, namiesto toho, aby ste ticho hádali. Toto je heuristický nástroj, nie záruka: text miešajúci niekoľko jazykov alebo obsahujúci symboly mimo rozsahu cieľovej kódovej stránky sa nemusí dať obnoviť a hovorí to jasne namiesto toho, aby vrátil sebavedomú nesprávnu odpoveď.

Všetko beží lokálne vo vašom prehliadači pomocou rovnakých kódovacích tabuliek, ktoré prehliadače používajú na vykresľovanie webových stránok – nič, čo vložíte, sa nikam neodovzdáva, čo je tu dôležitejšie ako väčšina nástrojov, pretože skomolený text často pochádza zo skutočných záznamov zákazníkov, exportovaných databáz alebo lístkov podpory.

Časté otázky

Ako vie, ktoré kódovanie bolo použité?
Znovu zakóduje skomolený text pod každou kandidátskou kódovou stránkou a skontroluje, či výsledné bajty tvoria platné UTF-8. Správne zakódovaný text v podstate nikdy neprejde touto kontrolou náhodou, takže zhoda je spoľahlivým znakom toho, čo sa stalo – nie istota, ale blízko.
Prečo automatická detekcia neponúka opravu „čítať ako Latin-1“?
Tento smer nemá žiadny ekvivalentný spôsob, ako sa overiť – mnohé bajtové hodnoty sú platnými písmenami na viac ako jednej kódovej stránke, takže môže produkovať vierohodne vyzerajúci, ale nesprávny text. Vyberte ho ručne z rozbaľovacej ponuky, keď už viete, že je to tak.
Dokáže opraviť text pomocou emotikonov alebo zmiešaných jazykov?
Iba ak každý znak v texte patrí do kandidátskej kódovej stránky. Jeden emotikon alebo znak mimo tohto rozsahu znamená, že celý riadok nie je možné vrátiť späť a nástroj ho ponechá nezmenený, namiesto toho, aby hádal.
Je to zaručene správne?
Nie – je to heuristika, nie certifikovaný prevodník. Je veľmi spoľahlivý pri rozpoznávaní pravého UTF-8-as-legacy-codepage mojibake a jasne povie, keď nemôže nájsť bezpečnú opravu, namiesto toho, aby vrátil sebavedomú nesprávnu odpoveď.
Je môj text niekde nahraný?
Nie. Detekcia aj obnova bežia úplne vo vašom prehliadači s použitím rovnakých tabuliek kódovania, ktoré sa už dodávajú na vykresľovanie webových stránok – text nikdy neopustí vaše zariadenie.