Yleistä
Mikä on UTF-8?
UTF-8 -koodaus mahdollistaa latinalaista aakkostoa ja muutamaa erikoismerkkiä laajemman merkistön. Esimerkiksi erilaisten kielien kuten kiinan, japanin ja latinan kielen ja matemaattisten symbolien esittäminen eksaktisti onnistuu. UTF-8 on eräs Unicode-merkistön koodaustapa.
UTF-8:n käyttöönotto nikitalla tapahtuu kanssa seuraavasti:
- Pääteterminaalin translationin muuttaminen UTF-8:ksi
- Shellin lokaalin muutos fi_FI.UTF-8:ksi
- Screenin lokaalin muutos UTF-8:ksi
Koska erilaisia pääteohjelmia löytyy hieman jokalöytöön, eikä koskaan voi tietää mitä pääteohjelmaa tämänkin ohjeen lukija käyttää, niin syvennymme tässäkin vain ja ainoastaan puttyn asetuksien säätämiseen. Puttyn saa ymmärtämään UTF-8:a hyvin vähällä vaivalla; Riittää, kun uutta yhteyttä ottaessa menee Category -> Window -> Translation, ja asettaa ensimmäiseen alasvetoikkunaan (joka on Character set translation on received data) UTF-8. Muihin asetuksiin ei tarvitse koskea UTF-8:a koskien.
Tällä toimenpiteellä varmistetaan se, että itse yhteysohjelma lukee ja kirjoittaa UTF-8:aa oikein. Ohessa vielä kuva, jotta lukija on varmasti oikeassa paikassa tekemässä oikeat asetukset.
Kun putty on konfiguroitu käyttämään UTF-8:aa ja yhteys nikitaan on muodostettu, on aika siirtää itse shelli käyttämään UTF-8-lokaalia. Tämä tapahtuu suorittamalla seuraava komento:
» export LC_ALL=fi_FI.utf8
Tässä kohtaa kannattaa muistaa se, että nyt tehty muutos vaikuttaa VAIN JA AINOASTAAN TÄLLÄ HETKELLÄ AUKI OLEVAAN YHTEYTEEN TÄSSÄ SAMAISESSA PUTTY-IKKUNASSA! Tulevaisuutta ajatellen lokaalin muuttaminen automaattisesti oikeaksi aina, kun käyttäjä kirjautuu uudelleen, tulee käyttäjän tehdä seuraava:» echo "export LC_ALL=fi_FI.utf8" >>~/.bash_profile
Kun olet tehnyt em.asiat, voit tarkistaa locale-komennolla, että kaikki on varmasti oikein. Jos teit kaiken oikein, tulostuu sinulle seuraava:
tnnet@nikita ~ $ locale LANG= LC_CTYPE="fi_FI.utf8" LC_NUMERIC="fi_FI.utf8" LC_TIME="fi_FI.utf8" LC_COLLATE="fi_FI.utf8" LC_MONETARY="fi_FI.utf8" LC_MESSAGES="fi_FI.utf8" LC_PAPER="fi_FI.utf8" LC_NAME="fi_FI.utf8" LC_ADDRESS="fi_FI.utf8" LC_TELEPHONE="fi_FI.utf8" LC_MEASUREMENT="fi_FI.utf8" LC_IDENTIFICATION="fi_FI.utf8" LC_ALL=fi_FI.utf8 tnnet@nikita ~ $
Tämän jälkeen shellin lokaalit ovat oikein. Mikäli homma ei pelitä, teit jotakin väärin ja et lukenut ohjeita kuten piti. Aloita alusta. Ylläpito ei kykene auttamaan sinua enempää kuin mitä tässä on kirjoitettu, joten säästä itsesi ja ylläpidon aikaa ja lue ohje huolellisemmin läpi.
Kun pääteterminaalin sekä shellin lokaali on kunnossa, on aika tehdä viimeinen muutos UTF-8:n käyttöönottamiseen; Screenin lokaalin vaihtaminen. Se, että pääteterminaalissa ja shellissä on oikea lokaali ei riitä yksinään, sillä syystä tai toisesta joku neropatti on onnistunut keksimään sen, että myös screeniin voi pistää oman lokaalin.
Screenin lokaalin muuttaminen onnistuu parhaiten luomalla erillisen .screenrc -tiedoston "kotihakemiston juureen, jossa ääritellään mitä lokaalia screeni käyttää. Suorittamalla "echo "defutf8 on" > ~/.screenrc" saat luotua oikean tiedoston joka pitää sisällään "kaiken tarvittavan lokaalin muuttamiseksi.
Kun tiedosto on luotu, on aika käynnistää screeni. Tämä tapahtuu seuraavalla komennolla: "screen -U -S irssi".
Nyt kaikki on valmista irssin käyttämiselle UTF-8 -lokaalilla. Mikäli et ole aiemmin käynnistänyt irssiä, luo irssi automaattisesti toimivan konfiguraation UTF-8:n käyttöönottamiseen. Mikäli sinulla on vanha konfiguraatio, tulee sinun kertoa irssille mitä lokaalia tulisi käyttää.
Tapauksissa joissa käyttäjällä on jo valmis irssin konfiguraatiotiedosto, tulee käyttäjän määrittää oikeat parametrit jotta irssi rupeaa käyttämään UTF-8 (tai muuta) -lokaalia. Tarkista kuitenkin ensin mitkä lokaalit ovat käytössä. NIKITALLA TODISTETUSTI TOIMIVAT UTF-8 -asetukset menevät seuravasti:
Nikitalla varmasti toimivat UTF-8 -asetukset:
recode_autodetect_utf8 = ON
recode_fallback = CP1252
recode = ON
recode_out_default_charset = UTF-8
recode_transliterate = UTF-8 ON
/set recode_autodetect_utf8 ON
/set recode_fallback CP1252
/set recode ON
/set recode_out_default_charset UTF-8
/set recode_transliterate ON
/set term_charset UTF-8
on ehdottomasti kiellettyä ilman erillistä lupaa TNNet Oy:ltä.