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ä.