- 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
catkä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
lessvõicatkuvamisel 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:
localeVä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-8Eestikeelse 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_EEVäljundi näide:
et_EE.iso885915
et_EE.utf8Kui 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-etSeejärel käivitage lokaadi aktiveerimiseks järgmised käsud:
sudo locale-gen et_EE.UTF-8
sudo update-locale LANG=et_EE.UTF-82. 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-8Selle 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 ~/.bashrcVõi, kui soovite seda rakendada kõigile kasutajatele, redigeerige järgmist faili:
sudo nano /etc/default/localeLisage või muutke järgmist sisu:
LANG=et_EE.UTF-8
LC_ALL=et_EE.UTF-8Seadistuste 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-cjkMä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-ubuntu3. Droid Sans Fallback
sudo apt install -y fonts-droid-fallback4. Liberation Fonts
sudo apt install -y fonts-liberationPärast installimist taaskäivitage süsteem või värskendage fondi vahemälu, et seadistused rakenduksid.
fc-cache -fvFondide 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.txtVäljundi näide:
sample.txt: text/plain; charset=iso-8859-12. Kasuta käsku nkf (kui installitud)
sudo apt install -y nkf
nkf --guess sample.txtVä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.txtNäide EUC-JP → UTF-8 teisendamiseks:
iconv -f EUC-JP -t UTF-8 sample.txt -o sample_utf8.txt2. Kasuta käsku nkf
Näide Shift_JIS → UTF-8 teisendamiseks:
nkf -w sample.txt > sample_utf8.txtNäide EUC-JP → UTF-8 teisendamiseks:
nkf -w --overwrite sample.txtMärkide moonutuse lahendused terminalis ja redaktorites
1. Käsu less kasutamine õigeks kuvamiseks
export LESSCHARSET=utf-8
less sample.txt2. vim’i kasutamine märgikoodi määramiseks avamisel
vim -c "set encoding=utf-8" sample.txt3. 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_ALLVäljundi näide (kui õigesti seadistatud)
et_EE.UTF-8
et_EE.UTF-8Kui 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-8Kui 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,mac2. 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:preferencesja avage “Fondid ja värvid” → “Täpsemad”. - Muutke “Proportsionaalne” ja “Püsiva laiusega font” väärtuseks
Noto Sans CJK JPvõiUbuntu.
- Minge aadressile
- Chrome:
- Minge aadressile
chrome://settings/fonts. - Muutke “Standardfont” ja “Püsiva laiusega font” väärtuseks
Noto Sans CJK JPvõiUbuntu.
- Minge aadressile
2. LibreOffice’i eestikeelse teksti moonutamine
Lahendus:
- Installige
fonts-noto-cjkvõifonts-ubuntu. - Muutke LibreOffice’i seadeid.
- “Tööriistad” → “Valikud” → “LibreOffice” → “Fondid”
- Muutke “Standardfont” väärtuseks
Noto Sans CJK JPvõiUbuntu.
Märkide moonutuse lahendused CUI keskkonnas
1. SSH-ühenduse märkide moonutamine
Lahendus:
- Kontrollige serveri poolel
localeja 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-8Mä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 JPvõ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-88. 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:
localeKui 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 localesK2. Ainult teatud failid on moonutatud.
V: Failide märgikoodid võivad erineda. Kontrollige märgikoodi järgmiste meetoditega:
file -i sample.txtKui see ei ole UTF-8, on vaja teisendada.
iconv -f SHIFT_JIS -t UTF-8 sample.txt -o sample_utf8.txtVõi kasutades nkf:
nkf -w --overwrite sample.txtK3. 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 fcitxK4. 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 ~/.bashrcK5. 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-8K6. 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-ubuntu9. 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
Cvõ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
~/.bashrcvõi~/.profiletagab, 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.




