Hyppää sisältöön.

ArkistoKesäkuu 2006 › 17. päivä

Muistio näyttää merkistön väärin

Ohjelmistot, lauantaina 17.6.2006,

Windows se jaksaa aina yllättää. Suomalaisiinkin uutislähteisiin on päässyt ilmiö Notepadin ominaisuudesta hukata merkkejä. Kun Notepadiin — tai suomenkielisissä versioissa Muistioon — kirjoittaa lyhyitä neljäsanaisia lauseita, kuten Bush hid the facts, this app can break, dead jfk gun shots tai Mary had old lambs havaitaan, että Muistio on muuntanut tekstin uudelleenavauksen jälkeen kiinalaisiksi merkeiksi. Jos kiinalaisen merkistön tukea ei ole asennettu, teksti näkyy laatikkoina tai kysymysmerkkeinä hieman sovelluksesta riippuen.

Muistiossa ongelmateksti

Koska Muistio ei ole ainoa näin käyttäytyvä sovellus, täytyy ongelman ytimen olla pintaa syvemmällä käyttöjärjestelmässä. Hieman netistä kaivamalla löytyy outoudesta lisää levitettä leivän päälle. Perusteellisimmin asian on selittänyt Tim Lesher kirjoituksessaan This API can break. Kyseessä ei ole varsinaisesti bugi vaan rajoitus. Useimmat sovellukset eivät tallenna tekstidokumentteihin tietoa käytetystä merkistökoodauksesta, joten sovelluksen täytyy arvata se. Tähän useimmat käyttävät käyttöjärjestelmän apua, rajapintakutsua IsTextUnicode().

Tästä huomaammekin, että olemme tekemisissä jollain tavalla Unicode-merkistöjen kanssa. Kun esimerkiksi Muistio avaa tekstitiedoston, se kutsuu yllä mainittua API-kutsua selvittääkseen onko avattava tiedosto ehkä Unicode-muodossa. Ja kutsu palauttaa valheellisen positiivisen arvon, koska kutsun käyttämä heuristinen arvausmenetelmä ei toimi hyvin lyhyissä tekstipätkissä.

Netin tietolähteistä selviää myös, että melkeinpä kaikki 4–3–3–5-yhdistelmällä kirjaimia sisältävät tekstitiedostot tunnistuvat väärin. Siitä vaan luomaan suomeksi samoja.

Välttelevä vainoharhainen käyttäjä voi myös turvautua unikoodausta tukemattomaan käyttöjärjestelmään, kuten Windows 98:aan. Tällöin merkistöongelmaa ei ole. Tai sitten ottaa käyttöön Wordpadin, sekin näyttäisi toimivan oikein.

Arkisto

Copyright © 2004–2006 Lauri Seppänen. Kommentointi HaloScan.