Vad är mojibake?

Mojibake är fackordet för konstiga tecken: ä i stället för ä, ö i stället för ö eller € i stället för €. Det uppstår när en text sparas med en teckenkodning och läses med en annan – och oftast går det att fixa helt. Klistra in en trasig text nedan och prova.

Fungerar med text och med de här filerna:

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

Till exempel exporter från Excel, databasbackuper, undertexter eller webbplatskod.

Fixa

  1. Dra hit en fil eller klistra in text
  2. Fixen sker automatiskt
  3. Kopiera eller ladda ner
eller dra hit en fil
  • Ingen uppladdning. Dina filer fixas direkt i webbläsaren och lämnar aldrig din enhet.

  • Servrar inom EU. Mojibuster körs på en server i Finland (EU); dataskyddsförordningen (GDPR) gäller. GDPR-texten (EUR-Lex)

Varifrån ordet kommer

Mojibake (文字化け) är japanska: ”moji” betyder ”tecken” och ”bake” ”förvandling”. På 1990-talet använde japanska datorer flera teckenkodningar parallellt – Shift_JIS, EUC-JP och ISO-2022-JP – och oläsliga mejl och webbsidor var vardag. Ordet fastnade och kom in i engelskan. På svenska säger vi oftast bara ”konstiga tecken” eller att ”å, ä och ö blir fel”.

Hur mojibake uppstår

En dator sparar text som byte. Teckenkodningen avgör vilka byte som hör till vilket tecken. I UTF-8 sparas ä som de två byten C3 A4. Ett program som läser de byten som Windows-1252 visar ett tecken per byte: Ã för C3 och ¤ för A4.

I det steget går ingenting förlorat: byten finns kvar, de läses bara fel. Därför går mojibake nästan alltid att vända tillbaka: Mojibuster räknar om de felaktiga tecknen till byte och läser dem rätt igen.

UTF-8-text läst som Windows-1252

Mojibake

Smörgås, blåbär, Malmö, Åsa och Björn – 5 €

Fixad

Smörgås, blåbär, Malmö, Åsa och Björn – 5 €

Mojibake på andra språk

  • Japanska: 縺薙s縺ォ縺。縺ッ i stället för こんにちは – UTF-8 läst som Shift_JIS. Mer på den japanska sidan.
  • Kinesiska: 浣犲ソ i stället för 你好 – UTF-8 läst som GBK. På kinesiska heter det 乱码 (luànmǎ, ”kaotisk kod”).
  • Ryska: Привет i stället för Привет – UTF-8 läst som Windows-1251. Ryssarna kallar det ”krakozjabry”.
  • Svenska, tyska, franska …: ä, ö eller € i stället för ä, ö eller € – den vanligaste formen i världen. Alla mönster: ä i stället för ä.

Typiska orsaker

  • Excel öppnar en CSV i UTF-8 utan BOM som ANSI vid dubbelklick: Excel visar konstiga tecken.
  • En CSV-export från en webbutik, ett CRM eller banken öppnas med fel teckenkodning: fixa CSV.
  • En webbplats eller ett mejl anger fel charset, eller databasanslutningen använder latin1: fixa UTF-8-tecken.
  • Undertexter är sparade i en gammal teckenkodning: undertexter med konstiga tecken.
  • Text som redan är trasig konverteras igen – dubbel mojibake som ä.

Går det alltid att fixa?

Nästan alltid, så länge byten är intakta. Det går inte längre om ett program redan har ersatt tecknen med ? eller med ersättningstecknet �: då är den ursprungliga informationen borta. Mojibuster fixar allt som går att fixa, upp till tre kodningsnivåer på en gång, och talar om hur många tecken som är förlorade. När ? och � fortfarande går att rädda: frågetecken i stället för å, ä och ö.

Så undviker du det

  • Spara filer som UTF-8 – CSV-filer för Excel som CSV UTF-8 (kommaavgränsad), som lägger till en BOM.
  • Ange teckenkodningen: <meta charset="utf-8"> i HTML, utf8mb4 i MySQL och MariaDB.
  • Konvertera text bara en gång, vid gränsen mellan två system.
  • Välj teckenkodning själv när du importerar, i stället för att låta programmet gissa.

Vanliga frågor

Hur uttalar man mojibake?

Ungefär som ”mo-dji-ba-ke”, med alla fyra stavelserna uttalade.

Är min fil skadad eller smittad?

Nej. Mojibake är ett visningsproblem, inget virus, och oftast går inga data förlorade. Filen läses bara med fel teckenkodning.

Vad är skillnaden mellan mojibake och �?

Konstiga tecken som ä innehåller fortfarande de ursprungliga byten och går att fixa. Tecknet � betyder att ett program inte kunde läsa en byte och ersatte den: det tecknet är förlorat.

Skickas min text till en server?

Nej. Mojibuster fixar texten i din webbläsare. Ingenting skickas eller sparas.

Mer att läsa