Tilfælde 1: � i en fil, der egentlig er hel
Viser en editor, afspiller eller browser K�benhavn eller N�stved, er filen som regel gemt i Windows-1252 (ANSI) og læses som UTF-8. Byten for bogstavet er ugyldig i UTF-8, så programmet indsætter ved visningen erstatningstegnet �. I selve filen står de rigtige byte stadig.
Løsning: træk den originale fil ind i feltet ovenfor. Mojibuster genkender tegnkodningen, når filen indlæses, og konverterer den til UTF-8. Vigtigt: brug selve filen, og kopiér ikke teksten fra programmet – ved kopieringen bliver � permanent.
Tilfælde 2: � eller ? står virkelig i teksten
Har et program gemt eller sendt teksten videre med erstatningstegnet, er det oprindelige bogstav tabt. Det samme gælder ?: programmer indsætter det, når et tegn ikke findes i målkodningen – for eksempel når filen gemmes som ASCII, så Næstved bliver til N?stved.
Ud fra det kan intet regnes tilbage, fordi hvert æ, ø og å er blevet til det samme tegn. Mojibuster fortæller, hvor mange steder det gælder, i stedet for at gætte. Så hjælper kun kilden: eksportér igen, eller brug en sikkerhedskopi.
Typiske årsager til spørgsmålstegn
- Database: kolonnen eller forbindelsen bruger
latin1ellerascii, mens dataene kommer ind som UTF-8. MySQL erstatter så ukendte tegn med?. Indstil alt tilutf8mb4. - PowerShell 5.1:
Export-Csvskriver som standard ASCII og laver æ, ø og å om til?. Angiv-Encoding UTF8. - Python:
encode('ascii', errors='replace')erstatter tegn med?uden advarsel. - Kommandoprompten: Windows-konsollen viser tegn, som dens tegntabel ikke kender, som
?. Den bruger stadig gamle DOS-tegntabeller – i DOS-tiden fandtes der endda en særlig nordisk tegntabel, 865. Som regel er det kun visningen, der er forkert, ikke filen.
Sådan ser du, hvilket tilfælde du har
- Åbn filen i en editor, der viser tegnkodningen, for eksempel Notepad++ eller Notesblok. Står der »ANSI« eller »Windows-1252« nederst, er det tilfælde 1.
- Træk filen ind i Mojibuster. Står der »Læst som Windows-1252 (ANSI)« i resultatet, og er bogstaverne tilbage, var det tilfælde 1.
- Melder Mojibuster tabte tegn, er det tilfælde 2. Så hjælper kun en ny eksport.
Ser du tegnfølger som ø i stedet for spørgsmålstegn, er det en anden fejl – og den kan næsten altid rettes: ø i stedet for ø. Ødelagte tegn som – og ’ finder du under apostroffer og anførselstegn.
Ofte stillede spørgsmål
Kan Mojibuster lave ? om til bogstaver igen?
Nej. Et ? kan stå for et hvilket som helst bogstav; informationen er væk. Mojibuster lader sådanne steder være, men fortæller, hvor mange der er.
Hvorfor ser jeg � i ét program, men ikke i et andet?
Så er filen i orden, og kun det ene program læser den med den forkerte tegnkodning. Konvertér den til UTF-8 med Mojibuster, så viser begge den rigtigt. Hvordan det hænger sammen med CSV-filer i Excel, kan du læse her.
Hvad er tegnet �?
Erstatningstegnet U+FFFD. Programmer indsætter det, når de ikke kan læse en byte som tegn. Det tyder på en kodningsfejl og hører ikke til den egentlige tekst.