Frågetecken i stället för å, ä och ö: vad ? och � betyder

Står det ? eller tecknet � i stället för å, ä eller ö? De liknar varandra men har olika orsaker. Ofta är filen fortfarande helt i ordning – ibland är bokstäverna redan förlorade. Så ser du vilket fall du har.

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)

Fall 1: � i en fil som egentligen är hel

Visar en editor, spelare eller webbläsare Malm� eller G�teborg är filen oftast sparad i Windows-1252 (ANSI) och läses som UTF-8. Byten för bokstaven är ogiltig i UTF-8, så programmet sätter vid visningen in ersättningstecknet �. I själva filen finns fortfarande rätt byte.

Lösning: dra originalfilen till rutan ovan. Mojibuster känner igen teckenkodningen när filen läses in och konverterar den till UTF-8. Viktigt: använd själva filen och kopiera inte texten från programmet – vid kopieringen blir � permanent.

Fall 2: � eller ? står verkligen i texten

Har ett program sparat eller skickat vidare texten med ersättningstecknet är den ursprungliga bokstaven förlorad. Samma sak gäller ?: program sätter in det när ett tecken inte finns i målkodningen – till exempel när filen sparas som ASCII, så att Västerås blir V?ster?s.

Ur det går ingenting att räkna tillbaka, eftersom varje å, ä och ö har blivit samma tecken. Mojibuster talar om hur många ställen det gäller i stället för att gissa. Då hjälper bara källan: exportera igen eller använd en säkerhetskopia.

Typiska orsaker till frågetecken

  • Databas: kolumnen eller anslutningen använder latin1 eller ascii, medan data kommer in som UTF-8. MySQL ersätter då okända tecken med ?. Ställ in allt på utf8mb4.
  • PowerShell 5.1: Export-Csv skriver som standard ASCII och gör om å, ä och ö till ?. Ange -Encoding UTF8.
  • Python: encode('ascii', errors='replace') ersätter tecken med ? utan varning.
  • Kommandotolken: Windows-konsolen visar tecken som dess teckentabell inte känner till som ?. Oftast är det bara visningen som är fel, inte filen.

Så ser du vilket fall du har

  1. Öppna filen i en editor som visar teckenkodningen, till exempel Notepad++ eller Anteckningar. Står det ”ANSI” eller ”Windows-1252” längst ned är det fall 1.
  2. Dra filen till Mojibuster. Står det ”Läst som Windows-1252 (ANSI)” i resultatet och är bokstäverna tillbaka, var det fall 1.
  3. Rapporterar Mojibuster förlorade tecken är det fall 2. Då hjälper bara en ny export.

Ser du teckenföljder som ä i stället för frågetecken är det ett annat fel – och det går nästan alltid att fixa: ä i stället för ä. Trasiga tecken som – och ’ hittar du under apostrofer och citattecken.

Vanliga frågor

Kan Mojibuster göra om ? till bokstäver igen?

Nej. Ett ? kan stå för vilken bokstav som helst, informationen är borta. Mojibuster låter sådana ställen vara men talar om hur många de är.

Varför ser jag � i ett program men inte i ett annat?

Då är filen i ordning och bara ett av programmen läser den med fel teckenkodning. Konvertera den till UTF-8 med Mojibuster, så visar båda den rätt. För CSV-filer i Excel kan du läsa här hur det hänger ihop.

Vad är tecknet �?

Ersättningstecknet U+FFFD. Program sätter in det när de inte kan läsa en byte som tecken. Det tyder på ett kodningsfel och hör inte till den egentliga texten.

Mer att läsa