Oprava dvojitě zakódovaných znaků: Ä› místo ě

Pokud místo ě vidíte Ä› a místo č ÄŤ, text nebyl špatně přečten jednou, ale dvakrát. Mojibuster vrátí oba kroky najednou – i v textu, který je poškozený jen zčásti.

Funguje s textem a soubory:

  • CSV
  • TXT
  • JSON
  • XML
  • SRT
  • VTT
  • SMI
  • TSV
  • MD
  • HTML
  • SQL
  • LOG

Například exporty z Excelu, výpisy databází, titulky nebo kód webových stránek.

Opravit

  1. Přetáhněte soubor nebo vložte text
  2. Oprava proběhne automaticky
  3. Zkopírujte nebo stáhněte
nebo soubor jednoduše přetáhněte sem

Jak vypadá dvojitě zakódovaný text

Věta pokažená dvakrát

Před

Příliš žluťoučký kůl úpěl ďábelské ódy – otevřeno od pondělí

Po

Příliš žluťoučký kůl úpěl ďábelské ódy – otevřeno od pondělí

Jak k tomu dochází

V UTF-8 jsou česká ě a č tvořena dvěma bajty. Když je program přečte jako Windows-1250, vzniknou dva znaky: Ä›. Pokud se tento výsledek znovu uloží jako UTF-8, z jednoho znaku jsou čtyři bajty. Při druhém takovém kole se každý z těchto znaků rozpadne znovu – Ä› se změní na Ä›.

Typické spouštěče druhého kola:

  • Databáze se migruje a export z WordPressu nebo SQL dump byl poškozený už předtím.
  • Soubor CSV se otevře v Excelu, uloží a později se znovu špatně naimportuje.
  • Skript nebo API převádí text, který už je v UTF-8.

Nejčastější vzory na první pohled

Dvojitě zakódováno

Ä›
ÄŤ
Ĺ™
Ĺľ
á
ĹŻ
ĹĄ
€

Správně

ě
č
ř
ž
á
ů
ť
€

Při trojitém kódování je řetězec ještě delší: ě se změní na Ä›. Mojibuster opraví i tuto úroveň automaticky.

Proč nestačí najít a nahradit

U funkce najít a nahradit byste museli znát každý vzor – zvlášť pro každou úroveň a každé české písmeno. Snadno něco přehlédnete nebo omylem změníte správný text. Mojibuster naopak spočítá původní bajty a ověří, zda je výsledek platné UTF-8. Teprve potom místo nahradí.

  1. Vložte text výše nebo přetáhněte soubor do pole.
  2. Mojibuster pozná, kolikrát byl text převeden, a opraví až tři úrovně.
  3. V seznamu změn uvidíte každé místo. Poté výsledek zkopírujte nebo stáhněte soubor.

Text, který je už správně, zůstane beze změny – i když se v jednom souboru mísí poškozené a správné řádky. Jednoúrovňové chyby jako Ä› popisuje stránka převod Windows-1250 na UTF-8.

Časté otázky

Jak poznám dvojité kódování?

Podle delších řetězců s Ă„, †nebo Äą. Jednoúrovňové chyby jsou kratší, například Ä› místo ě – více na stránce co je mojibake.

Kolik úrovní dokáže Mojibuster opravit?

Až tři. Víc se v praxi stává jen výjimečně.

Co když je dvojitě zakódovaná jen část textu?

To nevadí. Mojibuster opraví každé místo zvlášť a správné části nechá beze změny.

Můžu si výsledek před stažením zkontrolovat?

Ano. Mojibuster vypíše každé opravené místo s číslem řádku, než text zkopírujete nebo soubor stáhnete.

Další návody