- 1 1. Sissejuhatus
- 2 2. Märkide moonutamise peamised põhjused
- 3 3. Lokaadi seadistuse kontrollimine ja parandamine
- 4 4. Fontide installimine ja seadistamine
- 5 5. Märgikoodi kontrollimine ja teisendamine
- 6 6. Terminali ja redaktori seadistuste kontrollimine
- 7 7. Juhtumipõhised lahendused
- 8 8. KKK (Korduma Kippuvad Küsimused)
- 8.1 K1. Lokaat on seadistatud, kuid märkide moonutus ei kao.
- 8.2 K2. Ainult teatud failid on moonutatud.
- 8.3 K3. Terminalis ei saa eesti keelt sisestada.
- 8.4 K4. WSL (Windows Subsystem for Linux) eestikeelne tekst on moonutatud.
- 8.5 K5. Docker konteineris on eestikeelne tekst moonutatud.
- 8.6 K6. Ubuntu GUI rakenduste menüüd ja dialoogid on moonutatud.
- 9 9. Kokkuvõte
- 10 Lõplik järeldus
1. Sissejuhatus
Ubuntu kasutamisel võib teatud olukordades esineda veidraid märke (character corruption). Näiteks terminali väljundis, eestikeelsete failinimede kuvamisel, brauseris eestikeelsete lehtede vaatamisel – sümptomid varieeruvad olenevalt keskkonnast. Eelkõige ei kuvata paljudel juhtudel vaikesätetega eesti keelt õigesti ja vajalikud on sobivad seadistused.
Käesolevas artiklis selgitatakse Ubuntu’s tekkivate märkide moonutuse põhjuseid ja konkreetseid lahendusi. Sihtrühmaks on järgmised kasutajad:
- Ubuntu algajad, kes pole veel eestikeelset kuva seadistanud.
- Need, kes soovivad teada märkide moonutamise põhjust ja otsivad põhimõttelist lahendust.
- Need, kellel esineb terminalis või GUI keskkonnas märkide moonutusi ja kes soovivad teada, kuidas sellega toime tulla.
Vaatame nüüd Ubuntu peamisi märkide moonutamise põhjuseid.
2. Märkide moonutamise peamised põhjused
Lokaadi seadistuse puudused
Ubuntu lokaat (locale) on keskkonnaseade, mis määrab süsteemi keele ja kuupäeva formaadi. Kui see pole õigesti seadistatud, ei pruugita eesti keelt kuvada või tekib märkide moonutus.
Näiteks kui käivitate käsu locale
ja see kuvab “C” või “POSIX”, on võimalik, et lokaat pole õigesti seadistatud.
$ locale
LANG=C
LC_ALL=
Eestikeelses keskkonnas oleks soovitav, et LANG=et_EE.UTF-8
oleks sarnane.
Fondide puudumine või ebapiisavus
Ubuntu vaikeolekus ei pruugi eestikeelsed fondid olla installitud. Seetõttu ei pruugita eestikeelset teksti õigesti kuvada ja selle asemel võivad ilmuda ruudud (□) või arusaamatud sümbolid.
Eriti on fondi puudumist märgata järgmistes olukordades:
- GUI rakenduste menüüd või nupud on moonutatud.
- Tekstiredaktoris eesti keeles avades on tekst moonutatud.
Märgikoodi mittevastavus
Ubuntu’s kasutatakse standardina peamiselt UTF-8
, kuid kui avate faili, mis on kodeeritud teises märgikoodis, nagu Shift_JIS
või EUC-JP
, võib esineda märkide moonutusi.
Näiteks Windowsi keskkonnas loodud faili Ubuntu’s avades võivad ilmneda järgmised nähtused:
- Tekstiredaktoris avades kuvatakse arusaamatuid sümboleid.
- Terminalis käsu
cat
käivitamisel on tekst rikutud.
Terminali või redaktori seadistusvead
Kui terminal või redaktor pole õigesti seadistatud, ei pruugita isegi UTF-8-ga kodeeritud faile õigesti kuvada.
- Terminali kodeeringu seade ei ole
UTF-8
. - Vim’i või VSCode’i redaktorites ei toimi automaatne märgikoodi tuvastamine.
- Käskudega
less
võicat
kuvamisel on eestikeelne osa asendatud “?” või “◇” märgiga.
3. Lokaadi seadistuse kontrollimine ja parandamine
Lokaadi seadistuse kontrollimise meetod
Kõigepealt käivitage järgmine käsk, et kontrollida praegust lokaadi seadistust:
locale
Väljundi näide:
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
Sel juhul on LANG=C
, mis näitab, et eestikeelne keskkond pole korralikult seadistatud. Eestikeelses keskkonnas oleks soovitav, et see oleks järgmine:
LANG=et_EE.UTF-8
LC_ALL=et_EE.UTF-8
Eestikeelse lokaadi installimine ja seadistamine
1. Eestikeelse lokaadi kontrollimine ja lisamine
Süsteemi installitud eestikeelse lokaadi kontrollimiseks käivitage järgmine käsk:
locale -a | grep et_EE
Väljundi näide:
et_EE.iso885915
et_EE.utf8
Kui et_EE.utf8
ei ole loendis, peate installima eestikeelse lokaadi.
Eestikeelse lokaadi lisamiseks käivitage järgmised käsud:
sudo apt update
sudo apt install -y language-pack-et
Seejärel käivitage lokaadi aktiveerimiseks järgmised käsud:
sudo locale-gen et_EE.UTF-8
sudo update-locale LANG=et_EE.UTF-8
2. Süsteemi lokaadi seadistamine
Lokaadi muudatuste süsteemiüleseks rakendamiseks käivitage järgmised käsud:
export LANG=et_EE.UTF-8
export LC_ALL=et_EE.UTF-8
Selle seadistuse püsimiseks lisage see faili ~/.bashrc
või ~/.profile
.
echo 'export LANG=et_EE.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=et_EE.UTF-8' >> ~/.bashrc
source ~/.bashrc
Või, kui soovite seda rakendada kõigile kasutajatele, redigeerige järgmist faili:
sudo nano /etc/default/locale
Lisage või muutke järgmist sisu:
LANG=et_EE.UTF-8
LC_ALL=et_EE.UTF-8
Seadistuste rakendamiseks logige välja ja uuesti sisse või taaskäivitage süsteem.
4. Fontide installimine ja seadistamine
Eestikeelsete fontide vajalikkus
Ubuntu vaikeolekus ei pruugi eestikeelsed fondid olla installitud. Seetõttu ei pruugita eestikeelset teksti õigesti kuvada ja selle asemel võivad ilmuda ruudud (□) või arusaamatud sümbolid.
Eriti on fondi puudumist märgata järgmistes olukordades:
- GUI rakenduste menüüd või nupud on moonutatud.
- Tekstiredaktoris eesti keeles avades on tekst moonutatud.
Soovitatavad eestikeelsed fondid
Ubuntu’s saab kasutada järgmisi eestikeelseid fonte:
Fondi nimi | Omadused |
---|---|
Noto Sans CJK JP | Google’i pakutav kvaliteetne jaapani font (vaikeväärtusena soovitatav). Eestikeelse teksti jaoks toimib Noto Sans hästi. |
Ubuntu Font Family | Ubuntu süsteemi vaikefont, mis toetab paljusid keeli, sealhulgas eesti keelt. |
Droid Sans Fallback | Laiendatud märgistikuga font, mis sisaldab palju erinevaid keeli. |
Liberation Sans/Serif/Mono | Lisaks Ubuntu vaikefontidele pakuvad need ka head ühilduvust. |
Fontide installimise meetod
1. Noto Sans CJK JP (vaikeväärtusena soovitatav font)
sudo apt update
sudo apt install -y fonts-noto-cjk
Märkus: Kuigi see on “CJK JP”, sisaldab see laia valikut Unicode’i märke, mis on piisavad ka eesti keele jaoks.
2. Ubuntu Font Family
sudo apt install -y fonts-ubuntu
3. Droid Sans Fallback
sudo apt install -y fonts-droid-fallback
4. Liberation Fonts
sudo apt install -y fonts-liberation
Pärast installimist taaskäivitage süsteem või värskendage fondi vahemälu, et seadistused rakenduksid.
fc-cache -fv
Fondide seadistamise meetod
GUI rakenduste fondiseaded
- Avage rakendus “Seaded”.
- Avage jaotis “Fondid”.
- Muutke “Standardfont”, “Dokumendifont” ja “Püsiva laiusega font” soovitud fondiks.
- Logige välja ja uuesti sisse, et seaded rakenduksid.
Terminali fondiseaded
- Avage terminal.
- Valige menüüst “Eelistused” → “Profili redigeerimine”.
- Märkige jaotises “Tekst” ruut “Kasuta kohandatud fonti”.
- Valige soovitud font (nt Noto Sans Mono CJK JP).
- Salvestage seaded ja taaskäivitage terminal.
Seadistuste rakendamine ja kontrollimine
Fondi seadistuste õigsuse kontrollimiseks proovige järgmisi meetodeid:
- Kontrollige installitud fonde käsuga
fc-list
.
fc-list | grep "Noto"
- Kontrollige eestikeelset kuva terminalis.
echo "Tere, Ubuntu märkide moonutuse lahendus"
- Kontrollige, kas eestikeelne tekst kuvatakse GUI rakendustes (Firefox, LibreOffice jne) õigesti.
5. Märgikoodi kontrollimine ja teisendamine
Mis on märgikood?
Märgikood on reeglite kogum, kuidas märke digitaalsete andmetena käsitleda. Levinumad märgikoodid on järgmised:
Märgikood | Omadused | Peamine kasutusala |
---|---|---|
UTF-8 | Mitmekeelne tugi, standard Linuxis | Ubuntu ja veebiarendus |
Shift_JIS | Jaapani keelele spetsialiseeritud, domineeriv Windowsis | Windowsi rakendused, vanemad süsteemid |
EUC-JP | Kasutati UNIX-i süsteemides | Vanemad Linuxi süsteemid |
ISO-2022-JP | Kasutatakse meilides ja teatud keskkondades | E-kirjade saatmine ja vastuvõtmine |
Ubuntu’s kasutatakse standardina UTF-8, seega kui avate faili, mis on salvestatud mõnes muus märgikoodis, võib esineda märkide moonutusi.
Faili märgikoodi kontrollimise meetod
1. Kasuta käsku file
file -i sample.txt
Väljundi näide:
sample.txt: text/plain; charset=iso-8859-1
2. Kasuta käsku nkf
(kui installitud)
sudo apt install -y nkf
nkf --guess sample.txt
Väljundi näide:
Shift_JIS (CRLF)
Märgikoodi teisendamise meetod
1. Kasuta käsku iconv
Näide Shift_JIS → UTF-8 teisendamiseks:
iconv -f SHIFT_JIS -t UTF-8 sample.txt -o sample_utf8.txt
Näide EUC-JP → UTF-8 teisendamiseks:
iconv -f EUC-JP -t UTF-8 sample.txt -o sample_utf8.txt
2. Kasuta käsku nkf
Näide Shift_JIS → UTF-8 teisendamiseks:
nkf -w sample.txt > sample_utf8.txt
Näide EUC-JP → UTF-8 teisendamiseks:
nkf -w --overwrite sample.txt
Märkide moonutuse lahendused terminalis ja redaktorites
1. Käsu less
kasutamine õigeks kuvamiseks
export LESSCHARSET=utf-8
less sample.txt
2. vim
’i kasutamine märgikoodi määramiseks avamisel
vim -c "set encoding=utf-8" sample.txt
3. Märgikoodi muutmine programmis gedit
või VSCode
- gedit (GNOME’i standardredaktor)
- Avage fail käsuga
gedit sample.txt
. - Salvestamisel nimega muutke “Kodeering” väärtuseks
UTF-8
.
- VSCode (Visual Studio Code)
- Klõpsake ekraani allservas “Kodeering”.
- Teisenda
UTF-8
-ks.

6. Terminali ja redaktori seadistuste kontrollimine
Terminali seadistuste kontrollimine ja parandamine
1. Terminali kodeeringu seadistuse kontrollimine
Praeguste keskkonnamuutujate kontrollimiseks käivitage järgmised käsud:
echo $LANG
echo $LC_ALL
Väljundi näide (kui õigesti seadistatud)
et_EE.UTF-8
et_EE.UTF-8
Kui see on C
või POSIX
, on vaja see muuta sobivaks lokaadiks (et_EE.UTF-8
).
2. Terminali fondiseaded
GNOME Terminal (vaiketerminal)
- Avage terminal.
- Avage menüüst “Seaded”.
- Avage “Profiili redigeerimine” → “Teksti” sakk.
- Lubage “Kasuta kohandatud fonti” ja valige üks järgmistest:
- Noto Sans Mono CJK JP (eestikeelsete märkide jaoks piisav)
- Ubuntu Mono
- Liberation Mono
- Salvestage seaded ja taaskäivitage terminal.
Tekstiredaktori märgikoodi seaded
1. Vimi märgikoodi seaded
Praeguste seadete kontrollimiseks avage Vim ja käivitage järgmised käsud:
:set encoding?
:set fileencoding?
Väljundi näide:
encoding=utf-8
fileencoding=utf-8
Kui see on midagi muud kui utf-8
, lisage Vimi seadistusfaili (~/.vimrc
) järgmine, et muuta vaikeväärtus UTF-8-ks.
set encoding=utf-8
set fileencodings=utf-8,latin1,iso-8859-15
set fileformats=unix,dos,mac
2. Nano märgikoodi seaded
Vaikesätete muutmiseks lisage seadistusfaili (~/.nanorc
) järgmine:
set encoding "utf-8"
3. VSCode (Visual Studio Code) märgikoodi seaded
- Klõpsake redaktori akna paremas alanurgas asuvat “Kodeering” nuppu.
- Valige “Muuda kodeeringut” alt
UTF-8
. - Vajadusel käivitage “Salvesta koos kodeeringuga”.
Lisaks, et määrata vaikesäteteks UTF-8
, lisage seadistusfaili (settings.json) järgmine:
"files.encoding": "utf8"
7. Juhtumipõhised lahendused
Märkide moonutuse lahendused GUI rakendustes
1. Firefoxi või Chrome’i eestikeelne kuva on moonutatud
Lahendus:
- Installige vajalikud fondid.
sudo apt install -y fonts-noto-cjk fonts-ubuntu
- Kontrollige brauseri fondiseadeid.
- Firefox:
- Minge aadressile
about:preferences
ja avage “Fondid ja värvid” → “Täpsemad”. - Muutke “Proportsionaalne” ja “Püsiva laiusega font” väärtuseks
Noto Sans CJK JP
võiUbuntu
.
- Minge aadressile
- Chrome:
- Minge aadressile
chrome://settings/fonts
. - Muutke “Standardfont” ja “Püsiva laiusega font” väärtuseks
Noto Sans CJK JP
võiUbuntu
.
- Minge aadressile
2. LibreOffice’i eestikeelse teksti moonutamine
Lahendus:
- Installige
fonts-noto-cjk
võifonts-ubuntu
. - Muutke LibreOffice’i seadeid.
- “Tööriistad” → “Valikud” → “LibreOffice” → “Fondid”
- Muutke “Standardfont” väärtuseks
Noto Sans CJK JP
võiUbuntu
.
Märkide moonutuse lahendused CUI keskkonnas
1. SSH-ühenduse märkide moonutamine
Lahendus:
- Kontrollige serveri poolel
locale
ja veenduge, et see olekset_EE.UTF-8
.
locale
- Kui see ei ole
et_EE.UTF-8
, käivitage järgmised käsud:
sudo apt install -y language-pack-et
sudo locale-gen et_EE.UTF-8
sudo update-locale LANG=et_EE.UTF-8
Märkide moonutuse lahendused konkreetsetes rakendustes
1. WSL (Windows Subsystem for Linux) märkide moonutamine
Lahendus:
- Määrake WSL-i lokaadiks
et_EE.UTF-8
.
echo 'export LANG=et_EE.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=et_EE.UTF-8' >> ~/.bashrc
source ~/.bashrc
- Muutke Windowsi terminali fondiks
Noto Sans Mono CJK JP
või sarnane Unicode’i toetav font.
2. Docker konteineri märkide moonutamine
Lahendus:
- Sisenege Docker konteinerisse ja kontrollige lokaati.
docker exec -it container_name bash
locale
- Lisage eestikeelne lokaat.
apt update && apt install -y locales
locale-gen et_EE.UTF-8
export LANG=et_EE.UTF-8
export LC_ALL=et_EE.UTF-8
8. KKK (Korduma Kippuvad Küsimused)
K1. Lokaat on seadistatud, kuid märkide moonutus ei kao.
V: Kui lokaadi õige seadistamine ei lahenda märkide moonutust, kontrollige järgmist:
locale
Kui see ei ole LANG=et_EE.UTF-8
, on vaja uuesti seadistada.
sudo update-locale LANG=et_EE.UTF-8
sudo locale-gen et_EE.UTF-8
sudo dpkg-reconfigure locales
K2. Ainult teatud failid on moonutatud.
V: Failide märgikoodid võivad erineda. Kontrollige märgikoodi järgmiste meetoditega:
file -i sample.txt
Kui see ei ole UTF-8
, on vaja teisendada.
iconv -f SHIFT_JIS -t UTF-8 sample.txt -o sample_utf8.txt
Või kasutades nkf
:
nkf -w --overwrite sample.txt
K3. Terminalis ei saa eesti keelt sisestada.
V: Kontrollige, kas eestikeelne sisestusmeetod (nt Fcitx või IBus) on installitud.
sudo apt update
sudo apt install -y fcitx-mozc # or fcitx-libthai for basic Latin/Estonian input method
im-config -n fcitx
K4. WSL (Windows Subsystem for Linux) eestikeelne tekst on moonutatud.
V: Määrake WSL-i lokaadiks et_EE.UTF-8
.
echo 'export LANG=et_EE.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=et_EE.UTF-8' >> ~/.bashrc
source ~/.bashrc
K5. Docker konteineris on eestikeelne tekst moonutatud.
V: Kui Docker konteineri lokaat on C.UTF-8
, ei kuvata eesti keelt õigesti.
apt update && apt install -y locales
locale-gen et_EE.UTF-8
export LANG=et_EE.UTF-8
export LC_ALL=et_EE.UTF-8
K6. Ubuntu GUI rakenduste menüüd ja dialoogid on moonutatud.
V: Installige fonts-noto-cjk
(või muu laia märgistikuga font) ja muutke fondiseadeid.
sudo apt install -y fonts-noto-cjk fonts-ubuntu
9. Kokkuvõte
Käesolevas artiklis selgitati üksikasjalikult Ubuntu’s tekkivate märkide moonutamise probleemi põhjuseid ja lahendusi. Märkide moonutused tekivad lokaadi seadistuse puuduste, fondi installimata jätmise, märgikoodide mittevastavuse jms tõttu, kuid neid saab vältida õigete seadistuste abil.
1. Märkide moonutamise peamised põhjused
- Lokaadi seadistuse vead: Kui Ubuntu vaikekeeleks on
C
võiPOSIX
, ei kuvata eesti keelt õigesti. - Fondi seadistamata jätmine: Kui eestikeelne font pole installitud, tekib GUI-s või terminalis märkide moonutus.
- Märgikoodi mittevastavus: Erinevate märgikoodidega (nt Shift_JIS) failide avamisel tekib märkide moonutus.
- Terminali või redaktori seadistusvead: Kui see pole seadistatud UTF-8-le, ei kuvata seda õigesti.
2. Märkide moonutuse lahendamise meetodid
Punkt | Lahendus |
---|---|
Lokaadi seadistus | Kontrolli käsuga locale ja käivita update-locale LANG=et_EE.UTF-8 . |
Fontide installimine | sudo apt install -y fonts-noto-cjk fonts-ubuntu |
Märgikoodi kontrollimine | Kontrolli faili märgikoodi käsuga file -i või nkf --guess . |
Märgikoodi teisendamine | iconv -f SHIFT_JIS -t UTF-8 failinimi -o teisendatud_failinimi |
Terminali seadistus | Määrake LESSCHARSET=utf-8 ja muutke fondiks Noto Sans Mono CJK JP või sarnane. |
GUI märkide moonutus | Määrake fondiks Noto Sans CJK JP (või Ubuntu font) ja vajadusel kasutage gnome-tweaks . |
WSL märkide moonutus | Määrake LANG=et_EE.UTF-8 ja muutke fonti. |
Docker märkide moonutus | Käivitage locale-gen et_EE.UTF-8 ja seadistage lokaat Dockerfile’is. |
3. Lisameetmed
- Värskendage süsteemi regulaarselt: Vananenud Ubuntu paketid võivad mõjutada eestikeelset keskkonda.
sudo apt update && sudo apt upgrade -y
- Seadistuste püsimine: Muudatuste lisamine faili
~/.bashrc
või~/.profile
tagab, et need rakenduvad sisselogimisel. - Varukoopiate tegemine: Tehke varukoopiaid seadistusfailidest, nagu
/etc/default/locale
, enne nende muutmist.
Lõplik järeldus
Ubuntu’s esinevad märkide moonutuse probleemid saab lahendada, seadistades õigesti neli elementi: lokaat, fondid, märgikoodid ja terminali seaded. Selles artiklis esitatud meetodite rakendamine peaks aitama vältida märkide moonutusi enamikus keskkondades.