Muokataan sivua Unicode
Siirry navigaatioon
Siirry hakuun
Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.
Nykyinen versio | Oma tekstisi | ||
Rivi 1: | Rivi 1: | ||
{{perustietoa}} | {{perustietoa}} | ||
[[wikipedia:fi:Unicode|Unicode Wikipediassa]] | |||
== Esittely == | |||
'''Unicode''' on standardi, joka muun muassa määrittelee useimmille maailman kirjoitusmerkeille omat merkkikoodinsa. Standardin tarkoituksena on korvata tähän saakka käytössä olleet hyvin erilaiset ja keskenään huonosti yhteensopivat merkistöt. Suomessa on Linux-koneissa käytetty enimmäkseen ISO-8859-15-merkistöä. Vanhojen merkistöjen ongelma on, että niiden merkkivalikoima on hyvin rajallinen, esimerkiksi 256 merkkiä. Se yleensä tarkoittaa, että samalla merkistöllä ei voida esittää useita kovin erilaisia kieliä. Esimerkiksi sama tekstitiedosto tai sähköpostiviesti ei voi sisältää tekstiä kuin niillä kielillä, joita kyseisellä merkistöllä voidaan esittää. Tämä ei kenties häiritse yksittäistä tietokoneenkäyttäjää, mutta sitä mukaa, kun kansainvälinen tietoliikenne on lisääntynyt, on myös lisääntynyt tarve luoda kaikille yhteinen standardi kirjoitusmerkkien esittämiseksi. | '''Unicode''' on standardi, joka muun muassa määrittelee useimmille maailman kirjoitusmerkeille omat merkkikoodinsa. Standardin tarkoituksena on korvata tähän saakka käytössä olleet hyvin erilaiset ja keskenään huonosti yhteensopivat merkistöt. Suomessa on Linux-koneissa käytetty enimmäkseen ISO-8859-15-merkistöä. Vanhojen merkistöjen ongelma on, että niiden merkkivalikoima on hyvin rajallinen, esimerkiksi 256 merkkiä. Se yleensä tarkoittaa, että samalla merkistöllä ei voida esittää useita kovin erilaisia kieliä. Esimerkiksi sama tekstitiedosto tai sähköpostiviesti ei voi sisältää tekstiä kuin niillä kielillä, joita kyseisellä merkistöllä voidaan esittää. Tämä ei kenties häiritse yksittäistä tietokoneenkäyttäjää, mutta sitä mukaa, kun kansainvälinen tietoliikenne on lisääntynyt, on myös lisääntynyt tarve luoda kaikille yhteinen standardi kirjoitusmerkkien esittämiseksi. | ||
Rivi 9: | Rivi 12: | ||
UTF-8:n lisäksi on olemassa muitakin koodaustapoja, esimerkiksi UTF-16 ja UTF-32. UTF-16:ssa merkit esitetään joko yhtenä 16-bittisenä lukuna, tai mikäli merkin koodi on sitä suurempi, niin kahden 16-bittisen luvun muodostamana nk. sijaismerkkiparina (surrogate pair). UTF-32:ssa merkki esitetään aina yhtenä 32-bittisenä lukuna. Kuten todettu, Linuxissa käytetään pääasiassa UTF-8:aa. Ohjelmat voivat kuitenkin sisäisesti käyttää muitakin koodaustapoja, ja ohjelmien tekijät voivat vapaasti valita omaan ohjelmaansa sopivan tavan tallentaa tietoa. | UTF-8:n lisäksi on olemassa muitakin koodaustapoja, esimerkiksi UTF-16 ja UTF-32. UTF-16:ssa merkit esitetään joko yhtenä 16-bittisenä lukuna, tai mikäli merkin koodi on sitä suurempi, niin kahden 16-bittisen luvun muodostamana nk. sijaismerkkiparina (surrogate pair). UTF-32:ssa merkki esitetään aina yhtenä 32-bittisenä lukuna. Kuten todettu, Linuxissa käytetään pääasiassa UTF-8:aa. Ohjelmat voivat kuitenkin sisäisesti käyttää muitakin koodaustapoja, ja ohjelmien tekijät voivat vapaasti valita omaan ohjelmaansa sopivan tavan tallentaa tietoa. | ||
Nykyisin monet Linux-jakelut käyttävät UTF-8:aa oletuksena. Tämän voi havaita siitä, että järjestelmän käyttämien | Nykyisin monet Linux-jakelut käyttävät UTF-8:aa oletuksena. Tämän voi havaita siitä, että järjestelmän käyttämien lokaalien nimessä on ”.UTF-8”. Esimerkiksi Suomessa käytetään lokaalia nimeltä ”fi_FI.UTF-8”. Tällaista lokaalia käytettäessä järjestelmä tukee Unicodea ja mm. tiedostojen nimiin ja tekstitiedostoihin on periaatteessa mahdollista kirjoittaa kaikkia Unicode-merkkejä. Käytännössä mikään fontti ei yksinään kykene näyttämään kaikkia merkkejä. | ||
== [[Tiedostojärjestelmä]]t == | == [[Tiedostojärjestelmä]]t == | ||
Rivi 15: | Rivi 18: | ||
=== Ext3 ja muut Unixien tiedostojärjestelmät === | === Ext3 ja muut Unixien tiedostojärjestelmät === | ||
[[Ext3]] on Linuxissa yleisesti käytetty tiedostojärjestelmä. Se tukee täydellisesti Unicodea ja UTF-8:aa mutta tekee sen tavallaan tietämättään | [[Ext3]] on Linuxissa yleisesti käytetty tiedostojärjestelmä. Se tukee täydellisesti Unicodea ja UTF-8:aa mutta tekee sen tavallaan tietämättään, kuten muutkin unixien tiedostojärjestelmät. Ne eivät välitä, mitä merkkejä tiedostojen nimissä on – paitsi nollatavu (ASCII NUL, 0x00) ja [[vinoviiva]] ("/", 0x2F), jotka ovat kiellettyjä – eikä tallenna mitään tietoa käytetystä merkistöstä tai sen koodaustavasta. Ne vain tallentavat ne raa’asti tavujonoina. UTF-8 on nimenomaan suuniteltu niin, että näitä kiellettyjä tai muita ASCII:ssa määriteltyjä tavuja ei tarvita muiden merkkien esittämiseen. | ||
Tiedostojärjestelmää lukiessaan Linux tulkitsee tiedostojen nimet käytössä olevan lokaalin perusteella. Jos käytössä on UTF-8-lokaali (esimerkiksi fi_FI.UTF-8), niin järjestelmä | Tiedostojärjestelmää lukiessaan Linux tulkitsee tiedostojen nimet käytössä olevan lokaalin perusteella. Jos käytössä on UTF-8-lokaali (esimerkiksi fi_FI.UTF-8), niin järjestelmä katsoo, että tiedostojen nimet ovat UTF-8-koodattuja. Tästä seuraa sellainen ikävä asia, että jos tiedostojen nimet on kirjoitettu käyttäen eri lokaalia kuin mikä parhaillaan on käytössä, niin todennäköisesti nimet eivät näy oikein. Tiedostojen nimien muuttaminen merkistökoodauksesta toiseen onnistuu [[convmv]]-ohjelmalla. | ||
=== NTFS === | === NTFS === | ||
Rivi 33: | Rivi 36: | ||
=== FAT === | === FAT === | ||
Myös [[FAT]] on Microsoftin kehittämä tiedostojärjestelmä. Sitä käytetään paitsi Windowsissa hyvin yleisesti myös USB-muistien, digikameroiden ja kannettavien MP3-soittimien tiedostojärjestelmänä. Pitkissä tiedostojen nimissä myös FAT tukee Unicodea, | Myös [[FAT]] on Microsoftin kehittämä tiedostojärjestelmä. Sitä käytetään paitsi Windowsissa mutta hyvin yleisesti myös USB-muistien, digikameroiden ja kannettavien MP3-soittimien tiedostojärjestelmänä. Pitkissä tiedostojen nimissä myös FAT tukee Unicodea, ja se periaatteessa tallentaa nimet UTF-16-muodossa. Ikänsä vuoksi FAT tukee kuitenkin vain Unicoden ensimmäisiä versioita ja merkkejä vain nk. Basic Multilingual Planesta (U+0000..U+FFFF). FATin tukema merkkivalikoima käsittää kuitenkin suurimman osan maailman kirjoitusmerkeistä, joten sen Unicode-tuki on useimpien kielten näkökulmasta varsin hyvä. | ||
Samoin kuin NTFS:ssä, myös FAT-tiedostojärjestelmää liitettäessä täytyy Linuxille kertoa, mihin muotoon tiedostojen nimet täytyy muuttaa. Käytettäessä Linuxissa UTF-8-lokaalia, täytyy FAT-tiedostojärjestelmä liittää Linuxiin antamalla [[mount]]-komennolle optioksi ”utf8”. Siten [[fstab|/etc/fstab]]-tiedostoon laitettaisiin esimerkiksi rivi: | Samoin kuin NTFS:ssä, myös FAT-tiedostojärjestelmää liitettäessä täytyy Linuxille kertoa, mihin muotoon tiedostojen nimet täytyy muuttaa. Käytettäessä Linuxissa UTF-8-lokaalia, täytyy FAT-tiedostojärjestelmä liittää Linuxiin antamalla [[mount]]-komennolle optioksi ”utf8”. Siten [[fstab|/etc/fstab]]-tiedostoon laitettaisiin esimerkiksi rivi: | ||
Rivi 41: | Rivi 44: | ||
Jos omassa Linux-järjestelmässä on aiemmin ollut käytössä ISO-8859-15-merkistö (esimerkiksi lokaali fi_FI@euro) ja sittemmin on siirrytty UTF-8:aan, täytyy omat tekstitiedostot muuttaa UTF-8-koodatuiksi, jotta niiden sisältö näkyisi oikein. Yksi tapa tekstitiedoston muuttamiseen UTF-8-koodaukseen on avata se johonkin tekstieditoriin ja tallentaa sitten teksti uudella koodauksella. Nopeampaa saattaa kuitenkin olla komentotulkin ja [[recode]]-ohjelman käyttö: | Jos omassa Linux-järjestelmässä on aiemmin ollut käytössä ISO-8859-15-merkistö (esimerkiksi lokaali fi_FI@euro) ja sittemmin on siirrytty UTF-8:aan, täytyy omat tekstitiedostot muuttaa UTF-8-koodatuiksi, jotta niiden sisältö näkyisi oikein. Yksi tapa tekstitiedoston muuttamiseen UTF-8-koodaukseen on avata se johonkin tekstieditoriin ja tallentaa sitten teksti uudella koodauksella. Nopeampaa saattaa kuitenkin olla komentotulkin ja [[recode]]-ohjelman käyttö: | ||
recode ISO-8859-15..UTF-8 tiedosto.txt | recode ISO-8859-15..UTF-8 tiedosto.txt | ||
Tiedostojen nimissä käytetyn merkistön muuntaminen onnistuu [[convmv]]-nimisellä ohjelmalla. | |||
=== Emacs === | === Emacs === | ||
GNU [[Emacs]] toimii | GNU [[Emacs]] toimii yleensä suoraan UTF-8:n kanssa. Vanhemmissa järjestelmissä on <tt>.emacsrc</tt>-asetustiedostoon lisättävä rivi | ||
(prefer-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8) (set-terminal-coding-system 'utf-8) | |||
=== Vim === | === Vim === | ||
[[Vim]] tukee UTF-8:aa automaattisesti, jos käytössä on UTF-8-lokaali. Nykyiset Vimin versiot tukevat kutakuinkin täydellisesti kaikkia muitakin merkistöjä ja eri koodaustapoja. Tallennettavan tiedoston merkistöön voi vaikuttaa muuttujan 'fileencoding' avulla. | [[Vim]] tukee UTF-8:aa automaattisesti, jos käytössä on UTF-8-lokaali. Nykyiset Vimin versiot tukevat kutakuinkin täydellisesti kaikkia muitakin merkistöjä ja eri koodaustapoja. Tallennettavan tiedoston merkistöön voi vaikuttaa muuttujan 'fileencoding' avulla. Muokattavan tekstin merkistö on muuttujassa 'encoding'. | ||
== Muut ohjelmat == | == Muut ohjelmat == | ||
Rivi 73: | Rivi 68: | ||
== IRC == | == IRC == | ||
Nykyisin suomalaisilla IRC-kanavilla käytetään enimmäkseen vanhoja 8-bittisiä merkistöjä, joilla esiintyy edellä kuvattuja ongelmia. Tästä syystä siirros UTF-8:n käyttöön on pikkuhiljaa tapahtumassa, mutta siirrosta luonnollisesti hidastaa se, että monet asiakasohjelmat eivät tue UTF-8-merkistöä lainkaan ilman erillisiä | Nykyisin suomalaisilla IRC-kanavilla käytetään enimmäkseen vanhoja 8-bittisiä merkistöjä, joilla esiintyy edellä kuvattuja ongelmia. Tästä syystä siirros UTF-8:n käyttöön on pikkuhiljaa tapahtumassa, mutta siirrosta luonnollisesti hidastaa se, että monet asiakasohjelmat eivät tue UTF-8-merkistöä lainkaan ilman erillisiä scriptejä ja toisaalta myös se, että vain muutama asiakasohjelma saadaan tukemaan vanhaa 8-bittistä ja UTF-8:a samaan aikaan, siten että muiden kirjoittamat tekstit näkyisivät oikein riippumatta siitä kumpaa käytetään. Tilanne onneksi kuitenkin paranee kaiken aikaa ja on selvää että UTF-8:n käyttöön tullaan tulevaisuudessa siirtymään kokonaan. Siirros ei kuitenkaan missään tapauksessa tule tapahtumaan yhden yön aikana, joten olisi toivottavaa että mahdollisimman monista asiakasohjelmista löytyisi sekakäytön mahdollistava merkistön automaattinen tunnistus. | ||
Alla on lueteltu tärkeimpien IRC-ohjelmien UTF-8-yhteensopivuus. | Alla on lueteltu tärkeimpien IRC-ohjelmien UTF-8-yhteensopivuus. | ||
Rivi 82: | Rivi 77: | ||
=== Irssi === | === Irssi === | ||
[[Irssi]] 0.8.10 tukee merkistömuutoksia nykyisessä vakaassa versiossaan ja sitä edeltäneissä | [[Irssi]] 0.8.10 tukee merkistömuutoksia nykyisessä vakaassa versiossaan ja sitä edeltäneissä release candidateissa rc5:stä eteenpäin. Tämä mahdollistaa merkistön valinnan kanavakohtaisesti, kuten myös sen, että tästä riippumatta voidaan esimerkiksi lokit kirjoittaa aina UTF-8-muodossa. Tärkeimmät asetukset ovat <tt>/set term_charset <nowiki><merkistö></nowiki></tt> (asettaa terminaalin käyttämän merkistön), <tt>/set recode_out_default_charset</tt> (asettaa oletusmerkistön lähtevälle tekstille) ja <tt>/recode add <nowiki><merkistö></nowiki></tt> (asettaa aktiivisessa ikkunassa käytettävän merkistön). Merkistön automaattinen tunnistus toimii käytännössä luotettavasti. | ||
Irssi 0.8.10rc4 ja vanhemmat eivät sisällä sisäänrakennettua merkistömuunnostukea. <tt>/set term_type utf8</tt> tai <tt>/set term_type 8bit</tt> on asetettava terminaalin tyypin mukaisesti. Merkistömuunnostuen saa | Irssi 0.8.10rc4 ja vanhemmat eivät sisällä sisäänrakennettua merkistömuunnostukea. <tt>/set term_type utf8</tt> tai <tt>/set term_type 8bit</tt> on asetettava terminaalin tyypin mukaisesti. Merkistömuunnostuen saa scripteillä recode.pl ja recode_ion.pl tai pluginilla charconv. Älä asenna useampaa samanaikaisesti, yksi riittää. rc5 ja rc6-versioissa recode-toiminto oli kehitysasteella, joten toimivuus ja ominaisuudet eivät ole täydellisiä. Mikäli mahdollista, nämä versiot kannattaa tietenkin päivittää uusimpaan vakaaseen versioon. | ||
Erään ongelman muodostavat kanavat, joiden nimissä käytetään esimerkiksi Latin1-merkkejä, suomenkielisillä kanavilla yleensä ääkkösiä. UTF-8-terminaalilla niitä ei suoraan voi kirjoittaa ja UTF-8:lla kirjoitettu kanava #ääkkönen tietenkin on irc- | Erään ongelman muodostavat kanavat, joiden nimissä käytetään esimerkiksi Latin1-merkkejä, suomenkielisillä kanavilla yleensä ääkkösiä. UTF-8-terminaalilla niitä ei suoraan voi kirjoittaa ja UTF-8:lla kirjoitettu kanava #ääkkönen tietenkin on irc-serverin kannalta täysin eri kanava kuin vastaava nimi Latin1:llä kirjoitettuna. Ongelman voi kiertää esimerkiksi käyttämällä komennon ''/join #ääkkönen'' sijaan ''/eval''-komentoa, jolloin merkkien numerokoodeja voidaan kirjoittaa suoraan esimerkiksi oktaaleina: ''/eval /join \344\344kk\366nen''. Merkkien koodeja voi tarkistaa esimerkiksi [http://www.cs.tut.fi/~jkorpela/latin1.html tästä taulukosta]. | ||
=== KVIrc === | === KVIrc === | ||
Rivi 96: | Rivi 91: | ||
=== mIRC === | === mIRC === | ||
mIRC ei ole Linux-ohjelma, mutta monet käyttävät Windowsissa vanhoja versioita siitä ja valittavat UTF:stä juuri siksi että skandit eivät näy heillä. Kuitenkin mIRCin | mIRC ei ole Linux-ohjelma, mutta monet käyttävät Windowsissa vanhoja versioita siitä ja valittavat UTF:stä juuri siksi että skandit eivät näy heillä. Kuitenkin mIRCin uusi 17.2.2006 julkaistu versio 6.17 osaa näyttää oikein myös UTF-8-koodatut skandit oletusasetuksilla. | ||
=== Wireless IRC === | === Wireless IRC === | ||
Rivi 107: | Rivi 102: | ||
X-Chatin sivustolta löytyy myös python-scripti (lamechan.py), jolla voi kanavakohtaisesti valita käytetäänkö UTF-8:aa vai jotain toista merkistöä. Tätä scriptiä ei ole saatu toimimaan X-Chatin Windows-versioilla. | X-Chatin sivustolta löytyy myös python-scripti (lamechan.py), jolla voi kanavakohtaisesti valita käytetäänkö UTF-8:aa vai jotain toista merkistöä. Tätä scriptiä ei ole saatu toimimaan X-Chatin Windows-versioilla. | ||
=== jmIrc === | === jmIrc === | ||
Asetuksista voi määritellä merkistöksi UTF-8:n, tukee myös merkistön automaattista tunnistusta. | Asetuksista voi määritellä merkistöksi UTF-8:n, tukee myös merkistön automaattista tunnistusta. | ||
== Tietoturva == | == Tietoturva == | ||
Rivi 146: | Rivi 127: | ||
===Matematiikkaa=== | ===Matematiikkaa=== | ||
*Peruslaskutoimitukset: + − × : ∕ (U+2215 DIVISION SLASH) | |||
* Peruslaskutoimitukset: + − × : ∕ (U+2215 DIVISION SLASH) | *Murtolukuja: ⅓ ⅔ ¼ ½ ¾ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅛ ⅜ ⅝ ⅞ ⁄ (U+2044 FRACTION SLASH) | ||
* Murtolukuja: ⅓ ⅔ ¼ ½ ¾ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅛ ⅜ ⅝ ⅞ | *Yhtäläisyys ja epäyhtäläisyys: ≈ = ≠ < ≤ > ≥ | ||
*Yläindeksinumerot ja ‐merkit: ⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ⁿ ⁱ | |||
* Yhtäläisyys ja epäyhtäläisyys: ≈ = ≠ < ≤ > ≥ | *Alaindeksinumerot ja ‐merkit: ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎ | ||
* Yläindeksinumerot ja ‐merkit: ⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ⁿ ⁱ | *Muut ∶ (U+2236 RATIO) ⇒ ∞ ‰ ± ° | ||
* Alaindeksinumerot ja ‐merkit: ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎ | |||
* Muut | |||
===Kieliä=== | ===Kieliä=== | ||
Rivi 163: | Rivi 140: | ||
**‘ (U+2018 LEFT SINGLE QUOTATION MARK) | **‘ (U+2018 LEFT SINGLE QUOTATION MARK) | ||
*Espanja: Ñ ñ ¿ ¡ | *Espanja: Ñ ñ ¿ ¡ | ||
*Norja ja tanska: Æ æ Ø ø | *Norja ja tanska: Æ æ Ø ø | ||
*Ranska: È É Ê Ë è é ê ë Ò Ó Ô ò ó ô Ç ç Ï ï | *Ranska: È É Ê Ë è é ê ë Ò Ó Ô ò ó ô Ç ç Ï ï | ||
*Saksa: | *Saksa: ß Ü ü | ||
*Viro: Õ õ | *Viro: Õ õ | ||
Rivi 175: | Rivi 151: | ||
==Aiheesta muualla== | ==Aiheesta muualla== | ||
* [[wikipedia:fi:Unicode|Unicode suomenkielisessä Wikipediassa]] | * [[wikipedia:fi:Unicode|Unicode suomenkielisessä Wikipediassa]] | ||
* [http:// | * [http://kapsi.fi/~juhtolv/unicode/suomi.html Suomen kielen kirjoittaminen Unicodea käyttäen] | ||
[[Luokka:Verkko]] | [[Luokka:Verkko]] | ||
[[Luokka:Järjestelmä]] | [[Luokka:Järjestelmä]] | ||
[[Luokka:Käsitteet]] | [[Luokka:Käsitteet]] |