Keskustelut - Yleistä Höpinää - Miten ottaa huomioon merkistökoodaus sivuja tehdessä? [1 / 3]


Sivu: 1, 2, 3
seuraava sivu » 
numero 12:56 24.3.06 
Luin juuri merkistökoodauksesta (UTF-8, jne) ja mieleeni jäi vaivaamaan eräs asia. Kun teen sivuja, voinko jotenkin ottaa huomioon / kannattaako ottaa huomioon merkistökoodausta? Pitäisikö sivujen koodiin laittaa "merkki" siitä, mitä koodausta sivu käyttää? En tiedä aiheesta juuri mitään joten kaikki vinkit ja ajatukset tätä asiaa koskien otetaan vastaan... :)
tino 13:00 24.3.06 
Lisäämällä head-tagiin <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" /> kerrot selaimelle, että "tällä sivulla käytetään iso-8859-1 merkistöä". Siihen tilalle utf8 tai mitä nyt käyttääkin. iso-8859-1 on ykkösvaihtoehto suomalaiselle sivulle.
feenix 13:00 24.3.06 
Jos käytät jotain muuta kuin Latin1:ä, pitää koodaus tietysti kertoa selaimille. Riippuu hieman mitä tekee tarvitseeko muita koodauksia. Jos sivut ovat kielillä joita voi esittää Latin1:llä, turha niitä on koodailla muulla. Jos tarvitaan euroja ja muita, käytetään Latin9:ä. Jos taas tarvitaan kiinaa, venäjää ja suomea samalla sivulla, unikoodit alkavat perustella paikkaansa.

Eipä siitä kauheasti haittaakaan ole vaikka UTF-8:a käyttää, se vaan vie hieman enemmän kaistaa kotimaisessa kun ääkköset pitää koodata.
feenix 13:04 24.3.06 
tino kirjoitti:
Lisäämällä head-tagiin <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" /> kerrot selaimelle, että "tällä sivulla käytetään iso-8859-1 merkistöä". Siihen tilalle utf8 tai mitä nyt käyttääkin. iso-8859-1 on ykkösvaihtoehto suomalaiselle sivulle.


Oikea tapa on lähettää ihan oikea content-type -otsake, eikä käyttää metaa. HTML-speksikin sanoo, että http-equivin voi _serveri_ käsitellä ja asettaa oikeaksi otsakkeeksi, muttei ole pakko. Selaimista ei puhuta mitään. Mikään ei sano, että selain välittäisi mitään tuosta. content-type -otsakkeesta sen sijaan pitää välittää.
editoitu: 16:20 24.3.06
Ztane 16:16 24.3.06 
Jep, Content-Type: text/html; charset=UTF-8 on "ainoa oikea ratkaisu".

UTF-8:kin on ISOhkoa ja 15 vuotta vanha, hyväksi todettu merkistökoodaus, suottapa sitä vanhempia enää käyttää. :)

EDIT: enpä tosiaankaan sanoisi että iso-8859-1 olis ykkösvaihtoehto kaikille sivuille, koska ei sisällä mm. euroa ja muita monasti tarpeellisia merkkejä. Esmes http://www.kotus.fi/kielitoimisto/usein_esitettyja_kysymyksia/hattu-s_vai_sh.shtml ..
raimo 17:07 24.3.06 
Ztane kirjoitti:
EDIT: enpä tosiaankaan sanoisi että iso-8859-1 olis ykkösvaihtoehto kaikille sivuille, koska ei sisällä mm. euroa ja muita monasti tarpeellisia merkkejä.

ISO-8859-15 on ISO-8859-1:en "päivitys" joka sisältää mm. euro-merkin ja CE-merkin. Joten oikeastaan ISO-8859-15 on se ykkösvaihtoehto suomalaiselle sivulle.

Vertailutaulukko:
http://en.wikipedia.org/wiki/ISO_8859-15
editoitu: 18:09 24.3.06
tino 18:08 24.3.06 
Kyllä tuo http-equivi riittää noin niinku oikeesti. 21-vuotisen urani aikana se on ainakin joka tilanteessa pelannut.

Ja merkistönä voi käyttää mitä käyttää (vedän suositukseni takaisin, ettei kukaan käy kimppuun, eh), se on lähinnä editorista ja mieltymyksestä sekä sisällöstä kiinni. "Hattuässää" jos viljelee, voi käyttää jotain mistä se löytyy, itse kirjoitan yleisen käytännön vuoksi sen kuten muutkin: sh. Euron merkkinä käytän henk. koht. yleensä &euro; merkkiä joka ei ole merkistöstä kiinni. Eli ihan vapaat kädet, en tarkoittanut painostaa käyttämään iso-8859-1:tä. Merkistöjä löytyy vaikka jokaiselle omansa. :) Tässäkin tuli jo esille kolme kappaletta "ainoaa oikeaa", joista kaikki ovat oikein käypiä.
editoitu: 23:20 24.3.06
Digitale 23:16 24.3.06 
Apachessa voi text/plain ja text/html tyyppisille tiedostoille määritellä oletusmerkistökoodaukseksi utf-8:n lisäämällä .htaccess tiedostoon rivin:
AddDefaultCharset utf-8

utf-8 on XML:n oletusmerkistö.
utf-8:n kanssa ei tarvitse murehtia, jos sivustolle pitäisikin saada sisältöä muillakin kielillä. Unicodea käyttävät palvelut on myös helppo viedä muille maille, jos tarvetta ilmenee.

ISO-8859-15 on haitallinen
http://hsivonen.iki.fi/iso-8859-15/

Why Web authors must specify character encodings
http://dbaron.org/log/2006-02#e20060212a

Character encoding, entity references and UTF-8
http://www.webmasterworld.com/forum21/11176.htm
feenix 14:25 25.3.06 
tino kirjoitti:
Kyllä tuo http-equivi riittää noin niinku oikeesti. 21-vuotisen urani aikana se on ainakin joka tilanteessa pelannut.


Voihan sitä vaikka luottaa siihenkin, että selain arpoo sisällöstä koodauksen. En silti ymmärrä miksi pitäisi tehdä asiat vaikeasti, epävarmasti ja enemmän kaistaa vievästi kun ne voisi tehdä helposti oikeinkin.

"Hattuässää" jos viljelee, voi käyttää jotain mistä se löytyy, itse kirjoitan yleisen käytännön vuoksi sen kuten muutkin: sh.


sh ei ole oikea tapa, suomeen ei kuulu s ja h peräkkäin, joten oikea tapa olisi translitteroida se ihan s:ksi. Itse mieluummin kylläkin käyttäisin hattuässää aina kun tarvitsee. Kielitoimistokin on ihanasti heilunut noiden suositusten välillä vuosien varrella.

Ostin seikiltä sampoota ja passaa sekillä sakkipelin lomassa. Argh.
tino 15:47 25.3.06 
Hattuässän tapauksessa kielitoimisto on tosiaan vähän heilunut mutta pääosinhan ne kuitenkin on kautta linjan pysyneet nimenomaan hattuässän takana. Mutta sikäli turhaan, että ihmiset eivät halua sitä niin noudattaa. Periaatteessa kielitoimisto voisi "virallistaa" yleisen kirjoitetun kieliasun tässä eikä taistella kymmeniä vuosia ihmisiä vastaan. Kun miettii miten nopeasti esimerkiksi kielitoimisto hyväksyi internetin kirjoittamisen pienellä vaikka se onkin erisnimi ja pitäisi kieliopin mukaan kirjoittaa isolla. Siinäkin oli perusteena vain se, että ihmiset tekivät toisin kuin suositus, joten suosituksia muutettiin vastaamaan käytettyä kieltä ja kieliasua.

Sh on kuitenkin kenties toimivinkin tapa yleisyytensä lisäksi muuttaa suhuässä suomalaiseen arkikieleen: vrt. esimerkiksi sushi ja susi. Ja oikeastaan minusta on tärkeintä se, että noudatetaan yleisintä tapaa. Kyllä se hyvin harva hiustenpesuainepullo on minkä kyljessä seisoo "Sampoo". Shampoo on aikalailla yleisempi vaikka kielitoimisto haraakin yleistä käytäntöä vastaan.
editoitu: 15:59 25.3.06
tino 15:55 25.3.06 
feenix kirjoitti:
tino kirjoitti:
Kyllä tuo http-equivi riittää noin niinku oikeesti. 21-vuotisen urani aikana se on ainakin joka tilanteessa pelannut.

Voihan sitä vaikka luottaa siihenkin, että selain arpoo sisällöstä koodauksen. En silti ymmärrä miksi pitäisi tehdä asiat vaikeasti, epävarmasti ja enemmän kaistaa vievästi kun ne voisi tehdä helposti oikeinkin.

Eli miten haluaisit, että esimerkiksi allaoleva dokumentti tehtäisiin, jotta olisit mahd. tyytyväinen lopputulokseen? Ainakin tämä on W3C:n dokumenttien mukainen ja minä en ole koko urani aikana löytänyt ympäristöä missä tämä ei toimisi. Ja tuskinpa tuo kaistaakaan nyt kovin paljoa tukkii, kamoon! :-D

HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
        <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" />
        <title>Otsikko</title>
</head>
<body>
        Tekstiä...
</body>
</html>
 
editoitu: 18:59 25.3.06
Digitale 18:59 25.3.06 
Käykö tämä todisteeksi?
tinon testi (tallennettu isona)
Palvelimen lähettämä Content-Type otsake jyrää http-equiv:n ja kun se nyt sattuu olemaan utf-8, niin kuinkas kävikään, näkyy ä kysymysmerkkinä tai neliönä...
tino 00:21 26.3.06 
Digitale siis todisti, että jos määritellään merkistö väärin, homma ei välttämättä skulaa. Opetus mikä tähän sisältyy: määritelkää ny hyvät ihmiset ne merkistöt oikein - tai ei välttämättä skulaa. :D

Yleisesti (mitä olen aiemminkin täällä jo sanonut): älkää pantatko tietojanne. Heitelkää näkyville vaikkapa eri ratkaisumalleja (nähtävästi) mielipahaa aiheuttaneen html-dokkariesimerkkini tilalle niin niistä joku voi saada vinkkejä.
editoitu: 02:53 26.3.06
Grez 02:49 26.3.06 
raimo kirjoitti:
ISO-8859-15 on ISO-8859-1:en "päivitys" joka sisältää mm. euro-merkin ja CE-merkin. Joten oikeastaan ISO-8859-15 on se ykkösvaihtoehto suomalaiselle sivulle.


No ei todellakaan ISO-8859-15 sisällä CE-merkkiä. Suht marginaalinen olis hyöty sen sisällyttämisestä muutenkin.

Sekoitatko nyt Œ merkkiin, joka on ihan normaali kirjain samaan tapaan kuin Æ.
editoitu: 02:54 26.3.06
Grez 02:53 26.3.06 
(Hienoa. IE:llä hajoaa koko sivu (ruudunpiirto bugittaa jostain syystä tässä threadissa) ja Operalla taas ei näy unicodemerkit..)
raimo 10:37 26.3.06 
Grez kirjoitti:
Sekoitatko nyt &#338; merkkiin, joka on ihan normaali kirjain samaan tapaan kuin Æ.

No en kai minä nyt tarkoita että se CE-merkkiä sisältäisi, herranenaika,
vaan että se sisältää CE-merkin, ja euro-merkin, jotka se tosiaankin sisältää. :)

Niitä esimerkkejä odottelen minäkin, jos kerran on olemassa "parempi"
tapa määrittää dokumentin charset kuin metalla asetettu ISO-8859-X, niin olisi oikein kiva tietää miten se tarkkaanottaen tehdään.
Mutta sen pitää sitten olla semmoinen että ääkköset toimii oikein kaikilla selaimilla.

Ottanette myös huomioon sen että tavallisella kotskarinvääntäjällä harvemmin on mahdollisuus päästä käsiksi palvelimen systeemeihin. Tai edes tarvittavia taitoja moiseen säätämiseen.
editoitu: 13:35 26.3.06
Grez 13:19 26.3.06 
raimo kirjoitti:
No en kai minä nyt tarkoita että se CE-merkkiä sisältäisi, herranenaika,
vaan että se sisältää CE-merkin, ja euro-merkin, jotka se tosiaankin sisältää. :)

Siis, sanot, että et tarkoita että se sisältää CE-merkin vaan, että se sisältää CE-merkin? Mitä olet oikein nappaillut - ja mistä niitä saa? :D

Siis ISO-8859-15 sisältää mm. Euro ja OE -merkit, mutta ei CE-merkkiä.

Jos nyt olet edelleen sitä mieltä, että se sisältää CE-merkin, niin kerro missä positiossa se sijaitsee. (Esim. OE-merkki isona on positiossa 0xBC ja pienenä 0xBD)

Ehkä sinua hämää tämä suomenkielen sana "merkki", joka voi tarkoittaa englanniksi sekä character että mark. Ko. merkistössä ei ole "CE mark"ia eikä "CE character"ia ole olemassakaan. Veikkaan edelleen että sotket OE-ligatuuriin (OE-merkkiin) eli Œ joka on siis vokaali vastaavasti kuin AE-ligatuuri eli Æ.
editoitu: 14:45 26.3.06
raimo 14:43 26.3.06 
Voi luoja! ;D Olkoon sitten niin että se ei sisällä CE-merkkiä, vaan positiossa 0xBC olevan merkin. Joka minusta on varsin helposti kutsuttavissa CE-merkiksi.
Aion muuten vastaisuudessakin sanoa sitä CE-merkiksi, eikä siihen tarvi nappailla muuta kuin kahvia. :)
editoitu: 15:58 26.3.06
Grez 15:55 26.3.06 
No, omapa on häpeäsi. Yleensä kommunikointia helpottaa jos käyttää yleisesti käytössä olevia eikä itse keksimiään termejä.

Ja tuolla nappailulla viittasin vaan tuohon sekavaan lauseeseesi, jossa sanoit että "se ei sisällä CE-merkkiä vaan CE-merkin".
feenix 08:53 27.3.06 
raimo kirjoitti:
Niitä esimerkkejä odottelen minäkin, jos kerran on olemassa "parempi"
tapa määrittää dokumentin charset kuin metalla asetettu ISO-8859-X, niin olisi oikein kiva tietää miten se tarkkaanottaen tehdään.
Mutta sen pitää sitten olla semmoinen että ääkköset toimii oikein kaikilla selaimilla.


Lähettämällä HTTP-otsake "content-type" joka sisältää saman kuin metaan työntäisit. Silloin se toimii ihan millä tahansa datalla kaiken lisäksi. Ei siihen sen ihmeempää esimerkkiä voi antaa. Ja tällöin toimii joka ikisellä speksinmukaisella asiakasohjelmistolla, ei tarvitse olla edes selain.
seuraava sivu »