Kako izgleda dvojno kodirano besedilo
Prej
Čokolada in šolski žvižgač – odprto v Črnučah
Potem
Čokolada in šolski žvižgač – odprto v Črnučah
Kako pride do tega
V UTF-8 je č sestavljen iz dveh bajtov. Ko program ta dva bajta prebere kot Windows-1250, nastaneta dva znaka: ÄŤ. Če se rezultat spet shrani kot UTF-8, iz dveh znakov nastanejo štirje bajti. Ko se isto zgodi še drugič, se vsak znak znova razpade – ÄŤ postane ÄŤ.
Značilni sprožilci za drugi krog:
- Zbirka podatkov se seli, izvoz WordPressa ali SQL pa je bil že prej pokvarjen.
- CSV odprete v Excelu, shranite, pozneje pa ga še enkrat napačno uvozite.
- Skripta ali API pretvarja besedilo, ki je že UTF-8.
Najpogostejši vzorci na prvi pogled
Dvojno kodirano
č ć š ž –
Pravilno
č ć š ž –
Pri trojnem kodiranju je še daljše: č postane ÄŤ. Mojibuster tudi to raven popravi samodejno.
Zakaj najdi in zamenjaj ne zadošča
Pri najdi in zamenjaj bi morali poznati vsak vzorec – po enega za vsako raven in vsak šumnik. Enega zlahka spregledate ali pa pomotoma prepišete pravilno besedilo. Mojibuster namesto tega izračuna izvirne bajte in preveri, ali je rezultat veljaven UTF-8. Šele nato zamenja mesto.
- Prilepite besedilo zgoraj ali povlecite datoteko v okvir.
- Mojibuster prepozna, kolikokrat je bilo besedilo pretvorjeno, in popravi do tri ravni.
- Pod Kaj se je spremenilo? vidite vsako mesto. Nato kopirajte rezultat ali prenesite datoteko.
Besedilo, ki je že pravilno, ostane nespremenjeno – tudi kadar so v isti datoteki pomešane pokvarjene in pravilne vrstice. Napake ene ravni, kot je ÄŤ, obravnava stran pretvorba Windows-1250 v UTF-8.
Pogosta vprašanja
Kako prepoznam dvojno kodiranje?
Po daljših zaporedjih z Ă„ ali Äą. Napake ene ravni so krajše, na primer ÄŤ – več v članku kaj je mojibake.
Koliko ravni lahko Mojibuster popravi?
Do tri. Več se v praksi skoraj ne zgodi.
Kaj, če je dvojno kodiran le del besedila?
Ni težav. Mojibuster vsako mesto popravi posebej, pravilne dele pa pusti pri miru.
Ali lahko rezultat najprej preverim?
Da. Pod Kaj se je spremenilo? Mojibuster našteje vsako popravljeno mesto s številko vrstice, preden kopirate ali prenesete.