Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ubuntu tietokoneissa => Aiheen aloitti: samja - 26.01.08 - klo:00.17
-
Outo ongelma. Kun siirrän palvelimelle html-tiedoston, ei siinä näy ääkköset oikein vaikka on se metatägi, jossa merkistö määrätään utf-8:ksi.
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Kun siirrän tiedoston toiselle palvelimelle, kaikki näkyy oikein. Jopa ilman tuota metatägiä.
Siirrossa käytin gftp:tä ja net2ftp:tä.
-
Outo ongelma. Kun siirrän palvelimelle html-tiedoston, ei siinä näy ääkköset oikein vaikka on se metatägi, jossa merkistö määrätään utf-8:ksi.
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Kun siirrän tiedoston toiselle palvelimelle, kaikki näkyy oikein. Jopa ilman tuota metatägiä.
taitaa olla palvelimen ominaisuus. palvelin voi ilmoittaa (ja yleensä ilmoittaakin) tarjoilemansa merkistökoodauksen antamissaan headereissa. tietty myös selaimen oletuskoodaus vaikuttaa asiaan, jos sivulla eikä palvelimen puolesta kerrota mitään käytetystä koodauksesta.
katsotaan nyt malliksi vaikka jotkut headerit:
$ HEAD google.fi
200 OK
Cache-Control: private
Connection: Close
Date: Fri, 25 Jan 2008 22:50:02 GMT
Server: gws
Content-Length: 0
Content-Type: text/html; charset=ISO-8859-1
Client-Date: Fri, 25 Jan 2008 22:50:02 GMT
Client-Peer: 66.249.93.99:80
Client-Response-Num: 1
Set-Cookie: PREF=ID=fd75765c8000dd24:TM=1201301402:LM=1201301402:S=FI-sydmiSnbqiX_u; expires=Sun, 24-Jan-2010 22:50:02 GMT; path=/; domain=.google.fi
-
Palvelun tarjoajalta tuli tämmönen viesti:
Miten ääkköset näkyvät virheellisesti? Voitte laittaa meille linkin esimerkkisivustoon?
Kyseessä on mitä ilmeisimmin charset-ongelma, joka voidaan ratkaista htaccess-tiedoston avulla.
Mitenkähän tuo sitten toimii?
Se esimerkkisivu on: sohvaperuna.net/a.html (http://sohvaperuna.net/a.html)
-
Palvelun tarjoajalta tuli tämmönen viesti:
Miten ääkköset näkyvät virheellisesti? Voitte laittaa meille linkin esimerkkisivustoon?
Kyseessä on mitä ilmeisimmin charset-ongelma, joka voidaan ratkaista htaccess-tiedoston avulla.
Mitenkähän tuo sitten toimii?
Se esimerkkisivu on: sohvaperuna.net/a.html (http://sohvaperuna.net/a.html)
kuten tuossa jo kirjottelinkin:
$ HEAD http://sohvaperuna.net/a.html
200 OK
Connection: close
Date: Sat, 26 Jan 2008 11:25:52 GMT
Accept-Ranges: bytes
ETag: "1bbc019-21c-efa48980"
Server: Apache/2.2.3 (Debian) PHP/5.2.0-8+etch7
Content-Language: fi
Content-Length: 540
Content-Type: text/html; charset=iso-8859-1
Last-Modified: Sat, 26 Jan 2008 08:33:58 GMT
Client-Date: Sat, 26 Jan 2008 11:25:52 GMT
Client-Peer: 88.198.63.164:80
Client-Response-Num: 1
iso-8859-1 -merkistöä näkyisi tarjoilevan.
muistaakseni tuon oletuksen pystyi ottamaan pois päältä lisäämällä .htaccess -tiedostoon rivin:
AddDefaultCharset Off
tai vaihtoehtoisesti siellä voi määritellä käytetyn koodauksen:
AddDefaultCharset utf-8
periaatteessa tuolla .htaccess -tiedostolla pystyy tekemään subdomain/hakemisto-kohtaisia konffeja.
-
Kyseessä on mitä ilmeisimmin charset-ongelma, joka voidaan ratkaista htaccess-tiedoston avulla.
Mitenkähän tuo sitten toimii?
Tehdään palvelimelle siihen hakemistoon missä tiedostot on, useasti public_html, .htaccess -niminen tiedosto ja ko. tiedostoon kirjoitetaan AddCharset UTF-8 .html
Lisäksi kannattaa laittaa aina dokumentin tyyppi sivulle: Esimerkkinä XHTML 1.0
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi">
Lista valideista dokumenttityypeistä (http://www.w3.org/QA/2002/04/valid-dtd-list.html).
Edit: Janne ehtikin jo kirjoitaamaan eri tavan, mutta molemmat pitäisi toimia.
-
Lisäksi kannattaa laittaa aina dokumentin tyyppi sivulle: Esimerkkinä XHTML 1.0
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi">
Lista valideista dokumenttityypeistä (http://www.w3.org/QA/2002/04/valid-dtd-list.html).
juu, ehdottomasti. jos sivulla ei ole edes vihjettä käytetystä DTD:stä, niin selaimet renderöivät sen quirks modessa (http://en.wikipedia.org/wiki/Quirks_mode). yleensäkin validin kaman jakelu on hyvä idea, vaikka huonompikin näyttäisi toimivan jonkun selaimen jollain versiolla, jossain ympäristössä ja käyttäen jotain resoluutiota.
Edit: Janne ehtikin jo kirjoitaamaan eri tavan, mutta molemmat pitäisi toimia.
täytyy kyllä myöntää, että tuo sinun vastauksesi oli yksityiskohtaisempi ja kiinnitti huomiota myös epävalidiin markuppiin :)
-
Minä en noita DTD jne juttuja ole opiskellut. Eikö noita eri standardeja ole joka lähtöön. Koodaan ihan vain perus-html:ää. Pitäsköhän opetella jotain yleiskäytäntöjä.
Nyt jostain syystä lähti toimimaan uusi tuotos ja se minulle riittää. Kyseessä on keskustelufoorumeihin liittyvä palvelu (http://sohvaperuna.net/index.php?mm=foorumeita).
-
Minä en noita DTD jne juttuja ole opiskellut. Eikö noita eri standardeja ole joka lähtöön. Koodaan ihan vain perus-html:ää. Pitäsköhän opetella jotain yleiskäytäntöjä.
no siis, käytännössä noita yleisesti käytössä olevia speksejä on kourallinen. 'perus-htm':ää ei ole varsinaisesti olemassa, on vai eri speksejä jotka eroavat tietyiltä osin toisistaan. kertomalla tiedoston alussa, minkä DTD:n määrittämää syntaksia dokumentti käyttää ilmaisee käytännössä minkä (x)html-speksin mukaista merkkausta yrittää tuottaa. kun tuo on määritelty, pystyy syntaksin oikeellisuuden tarkistamaan validaattorin avulla ja sen perusteella myös selaimet osaavat renderoida sivun speksin määrittelemällä tavalla. ihan samalla tavalla myös css-tyylit kannattaa validoida.
-
Minä en noita DTD jne juttuja ole opiskellut. Eikö noita eri standardeja ole joka lähtöön. Koodaan ihan vain perus-html:ää. Pitäsköhän opetella jotain yleiskäytäntöjä.
Ehdottomasti kannattaa, kuten todettua ei niitä niin hirveästi ole. Mikäli kiinnostusta riittää niin hyvä paikka opetella on Jyväskylän yliopiston www-julkaisemisen (http://appro.mit.jyu.fi/www/luennot/) kurssi.
Parempi opetella standardin mukaiseen koodin kirjoittamiseen.
Edit: linkki korjattu
-
Juu, oikea dokutyyppi on erinomaisen tärkeä asia, samoin koodin oikeellisuus.
Laitampa tähän nyt validaattorien osoitteet:
W3C (X)HTML tarkistaja:
http://validator.w3.org/
Validome (X)HTML tarkistaja (myös XML-tiedostot):
http://www.validome.org/
W3C CSS tarkistaja:
http://jigsaw.w3.org/css-validator/
Siitähän me nyt lähdetään että tehdään vain sivuja joissa on virheitä tai varoituksia 0 ;)
-
Juu, oikea dokutyyppi on erinomaisen tärkeä asia, samoin koodin oikeellisuus.
Laitampa tähän nyt validaattorien osoitteet:
W3C (X)HTML tarkistaja:
http://validator.w3.org/
Validome (X)HTML tarkistaja (myös XML-tiedostot):
http://www.validome.org/
W3C CSS tarkistaja:
http://jigsaw.w3.org/css-validator/
noita validaattoreja on sitten ihan omalla koneella ajettavina ohjelminakin. esim. bluefish osaa käyttää suoraan käyttöliittymän kautta ainakin tidy html validatoria ja weblintiä. tosin nuo eivät taida olla ihan yhtä monipuolisia kuin nuo w3c:n webbipalvelut (käytännössä kai html 4.0).
Siitähän me nyt lähdetään että tehdään vain sivuja joissa on virheitä tai varoituksia 0 ;)
tismalleen :)
-
No mulla sitten riittää opittavaa. Yritän paneutua pikkuhiljaa aiheeseen.
Mukavaa on tuottaa sisältöä nettiin. Alkuun minulla oli kotisivu lähinnä valokuvia varten. Sitten lisäsin blogin.
Nyt on kokonaan oma saitti(Sohvaperuna). Aloitin sen foorumilla joulukuussa. Foorumipalvelun (http://sohvaperuna.net/index.php?mm=foorumeita) tekasin jälkikäteen ja julkaisin sen tänään. Sitä voi kehittää paljon paremmaksi mutta hyvä jo tuollaisenaan minusta. Joitain hajanaisia foorumilistoja on ja staattisena. Oma käyttöliittymä antaa paljon paremmat mahdollisuudet. Tietoja voi päivitellä kuka vain. Pitäis ehkä ilmoittaa foorumien pyörittäjille.
-
Taaskaan en ymmärrä ääkkösiä. Tavallinen materiaali tulostuu oikein ääkkösillä mutta kun esitän tietokantamateriaalia (http://sohvaperuna.net/index.php?mm=foorumeita&sm1=bykieli&&sort=kieli&suunta=asc), ääkköset menevät väärin.
php-myadmin:lla kun selailin tauluja, näkyi ääkköset ihan oikein.
Missähän vika?
-
Ongelma korjattu. Apu löytyi täältä:
http://fi.php.net/manual/fi/function.mysql-set-charset.php (http://fi.php.net/manual/fi/function.mysql-set-charset.php)
Merkistö pitää valita ennen tietokantaoperaatioita.