Mojibake-taulukko
Johdanto
Mojibake tarkoittaa merkkisotkua, jota syntyy, kun teksti koodataan ja puretaan epäyhteensopivalla merkistökoodauksella.
Suomenkielisessä tekstissä se ilmenee pääasiassa ääkkösissä.
Kun esimerkiksi kirjain ”ä” tallennetaan UTF-8-muodossa, saadaan tavut 0xc3
ja 0xa4
.
Kun ne taas tulkitaan virheellisesti esim. Windows-1252-koodattuina, saadaan merkit ”Ô ja ”¤”.
Esimerkkejä
Seuraavan taulukon avulla voi yrittää päätellä, mitkä merkistökoodaukset ovat kirjainten ä, ö, Ä ja Ö sotkeentumisen taustalla. Korvausmerkki ”�” tarkoittaa, että lähdemerkistöllä koodattu merkki ei ole kelvollinen tavu tai tavujono kohdemerkistössä.
Lähdemerkistö | Kohdemerkistö | ä ö Ä Ö |
---|---|---|
UTF-8 | Windows-1252 | ä ö Ä Ö |
UTF-8 | koodisivu 437 | ä ö Ä Ö |
UTF-8 | koodisivu 850 | ├ñ ├ ├ä ├û |
UTF-8 | Mac OS Roman | ä ö Ä Ö |
Windows-1252, koodisivu 437/850, Mac OS Roman |
UTF-8 | � � � � |
Windows-1252 | koodisivu 437 | Σ ÷ ─ ╓ |
Windows-1252 | koodisivu 850 | õ ÷ ─ Í |
Windows-1252 | Mac OS Roman | ‰ ˆ ƒ ÷ |
koodisivu 437/850 | Windows-1252 | „ ” Ž ™ |
koodisivu 437/850 | Mac OS Roman | Ñ î é ô |
Mac OS Roman | Windows-1252 | Š š € … |
Mac OS Roman | koodisivu 437/850 | è Ü Ç à |
Sotkeentuneet tekstit on luotu Python-ohjelmarivillä print("ä ö Ä Ö".encode(L).decode(K, errors="replace"))
jossa L
on lähdemerkistö ja K
kohdemerkistö.
Luettelo merkistöjen nimistä Pythonissa löytyy täältä.