Mi az a mojibake?

A mojibake olyan szöveg, amelyben a magyar betűk értelmetlen jelekké változnak: Ĺ‘ az ő, Ă© az é vagy õ az ő helyett. Akkor keletkezik, ha egy szöveget az egyik kódolásban mentenek, és egy másikban olvasnak be – és szinte mindig teljesen javítható. Illessz be lent egy hibás szöveget, és próbáld ki.

Szöveggel és fájlokkal is működik:

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

Például Excel-exportok, adatbázis-mentések, feliratok vagy weboldalak forráskódja.

Javítás

  1. Húzd ide a fájlt, vagy illeszd be a szöveget
  2. A javítás automatikusan megtörténik
  3. Másold ki vagy töltsd le
vagy egyszerűen húzd ide a fájlt
  • Feltöltés nélkül. A fájlokat közvetlenül a böngésződ javítja, és soha nem hagyják el az eszközt.

  • Szerverek az EU-ban. A Mojibuster egy szerveren fut a következő országban: Finnország (EU), ezért az általános adatvédelmi rendelet (GDPR) érvényes. A GDPR szövege (EUR-Lex)

Honnan ered a mojibake szó?

A mojibake (文字化け) japán szó: a „moji” jelentése „írásjel”, a „bake” jelentése „átváltozás”. A 90-es években a japán számítógépek egyszerre több kódolást használtak – Shift_JIS, EUC-JP és ISO-2022-JP –, így az olvashatatlan e-mailek és weboldalak mindennaposak voltak. A szó átkerült az angolba, és nemzetközi fogalom lett. Magyarul többnyire egyszerűen „hibás ékezetekről” vagy „furcsa karakterekről” beszélünk.

Hogyan keletkezik?

A számítógép a szöveget bájtokként tárolja. A kódolás határozza meg, melyik bájt melyik betűt jelenti. UTF-8-ban az ő két bájtot foglal: C5 91. Egy program, amely ezeket Windows-1250-ként olvassa, minden bájthoz külön jelet mutat: Ĺ-t a C5-höz és ‘-t a 91-hez.

Közben semmi nem vész el – a bájtok megvannak, csak rosszul olvasták be őket. Ezért a hiba általában visszafordítható: a Mojibuster a hibás jeleket visszaalakítja bájtokká, és a helyes kódolással olvassa be őket.

UTF-8 szöveg Windows-1250-ként beolvasva

Mojibake

Szőke Sándor tükörfúrógépet vett Győrben – szállítás szerdán

Javítás után

Szőke Sándor tükörfúrógépet vett Győrben – szállítás szerdán

A magyar mojibake fajtái

Mojibake más nyelveken

  • Japán: 縺薙s縺ォ縺。縺ッ a こんにちは helyett – UTF-8 Shift_JIS-ként beolvasva. Bővebben a japán oldalon.
  • Orosz: Привет a Привет helyett – UTF-8 Windows-1251-ként beolvasva. Az oroszok „krakozjabrinak” hívják.
  • Nyugati nyelvek: é, ñ vagy € az é, ñ vagy € helyett – a világon a leggyakoribb forma.

Tipikus okok

  • Az Excel a BOM nélküli UTF-8 CSV-fájlt Windows-1250 kódolással nyitja meg.
  • Az adatbázis-kapcsolat latin1 vagy latin2 kódolást használ, pedig az adatok UTF-8-ban vannak.
  • Egy weboldal vagy e-mail rossz charset-et ad meg.
  • Könyvelő- vagy hivatali rendszerek régi fájljai Windows-1250 vagy ISO-8859-2 kódolásban vannak.
  • A már hibás szöveget még egyszer átalakítják – így kétszeresen hibás szöveg keletkezik.

Mindig javítható?

Szinte mindig, amíg a bájtok sértetlenek. Nem javítható, ha egy program a betűket ? jellel vagy a � helyettesítő karakterrel cserélte le – ilyenkor az eredeti információ elveszett. A Mojibuster mindent kijavít, ami javítható, és megmutatja, hány hely veszett el.

Hogyan előzhető meg?

  • Ments UTF-8-ban, az Excelnek szánt CSV-fájlokat CSV UTF-8 (vesszővel tagolt) formátumban.
  • Add meg a kódolást: <meta charset="utf-8"> HTML-ben, utf8mb4 MySQL-ben és MariaDB-ben.
  • A szöveget csak egyszer alakítsd át, két rendszer határán.
  • Importáláskor magad válaszd ki a kódolást, ne bízd a program találgatására.

Gyakori kérdések

Hogyan kell kiejteni a mojibake szót?

Nagyjából „mo-dzsi-ba-ke”, mind a négy szótagot tisztán kiejtve. Japán szó, ezért nincs benne erős hangsúly.

Sérült vagy vírusos a fájlom?

Nem. A mojibake megjelenítési probléma, nem vírus, és általában nem jelent adatvesztést. A fájlt csak rossz kódolással olvasták be.

Mi a különbség a mojibake és a � jel között?

Az olyan mojibake, mint a Ĺ‘, még tartalmazza az eredeti bájtokat, és javítható. A � jel azt jelenti, hogy egy program nem tudott beolvasni egy bájtot, és lecserélte – ez a betű elveszett.

Feltöltődik a szövegem egy szerverre?

Nem. A Mojibuster közvetlenül a böngésződben javítja a szöveget. Sehová nem küldjük el, és sehol nem tároljuk.

További útmutatók