Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: HTML5 ja ISO-8859-1

Sivun loppuun

combo [11.11.2011 15:35:38]

#

Olen tekemässä sivustoa HTML5:llä ja ongelmani on se etten keksi mitään validia tapaa käyttää ISO-8859-1 enkoodausta.

Tässä se sivusto:

<!DOCTYPE html>
<html lang="fi">
  <head>
     <title>Sivuston otsikko</title>
     <meta name="description" content="sivuston kuvaus" />
	 <meta name="author" content="sivuston avainhenkilöt" />
  </head>
  <body>
  Tekstiä, joka sisältää mm. ä-, ö- ja å-kirjaimia.
  </body>
</html>

Ja tuohon lisänä ISO-8859-1-enkoodaus. Ongelma on etten saa utf-8:lla näkymään ääkkösiä oikein, muuten sekin kelpaisi.

Metabolix [11.11.2011 15:43:38]

#

Millä tavalla tuo ei mielestäsi ole validi?

Jos haluat lisätä dokumenttiin vielä erikseen merkistöilmoituksen, laita head-osion alkuun seuraava tagi:

<meta charset="ISO-8859-1" />

Lisäksi on tietenkin syytä säätää palvelimen asetuksista oikea merkistö otsikoihin tai lähettää tieto PHP:llä:

<?php header("Content-Type: text/html; charset=ISO-8859-1");

Aivan samat koodit toimivat UTF-8:n kanssa, kunhan muutat merkistön joka paikkaan, tallennat tiedostot oikein ja ilmoitat myös tietokannalle oikean merkistön (esim. mysql_set_charset('utf8') tai SET NAMES 'utf8').

combo [11.11.2011 15:53:17]

#

Metabolix kirjoitti:

Millä tavalla tuo ei mielestäsi ole validi?

Kyllä se tuolla koodilla onkin, mutta kun yrittää tunkea ISO-8859-1-merkistöilmoituksen tuohon niin koodi on epävalidia.

Metabolix kirjoitti:

Jos haluat lisätä dokumenttiin vielä erikseen merkistöilmoituksen, laita head-osion alkuun seuraava tagi:

<meta charset="ISO-8859-1" />

Kun merkistöilmoituksen lisäsi tuohon, W3C Validaattori antaa virheilmoituksen:

Line 7, Column 34: Internal encoding declaration iso-8859-1 disagrees with the actual encoding of the document (utf-8).
<meta charset="ISO-8859-1" />

Onko vika siis korvieni välissä?

Macro [11.11.2011 16:21:21]

#

Virhe tarkoittaa, että olet tallentanut tiedoston editorillasi UTF-8:na, mutta ilmoitat sivulla sen olevan ISO-8859-1.

combo [11.11.2011 16:38:51]

#

Macro kirjoitti:

Virhe tarkoittaa, että olet tallentanut tiedoston editorillasi UTF-8:na, mutta ilmoitat sivulla sen olevan ISO-8859-1.

Ai jos kirjoitin tuon yllä olevan koodin sinne validaattorin kenttään suoraan?

Metabolix [11.11.2011 16:46:11]

#

Onko mieleesi juolahtanut lukea sivulta muutakin kuin punaiset osat? Juuri virheilmoituksen yläpuolella kerrotaan, että laatikkoon syötetty teksti käsitellään UTF-8:na.

Yucca [11.11.2011 18:38:48]

#

Metabolix kirjoitti:

Juuri virheilmoituksen yläpuolella kerrotaan, että laatikkoon syötetty teksti käsitellään UTF-8:na.

Kerrotaan kyllä, mutta liian paljolla tekstillä ilman otsikon korostusta. Eikä asiaa sanota käyttöliittymän alkutilanteessa, siis siellä, missä teksti syötetään laatikkoon. (Jos joku jaksaa tästä valittaa asianomaiselle taholle, hyvä. Minun valituskiintiöni sinne suuntaan taitaa olla täynnä. :-))

Jos haluaa tarkistaa iso-8859-1-koodatun dokumentin Direct input -menetelmällä, pitäisi oikeastaan ensin mennä validaattorin sivulle, asettaa käsin koodaus iso-8859-1 selaimesta (Näytä > Merkistökoodaus tms.), valita Encoding-pudotusvalikosta iso-8859-1, syöttää teksti ja sitten antaa palaa.

Melkeinpä helpompaa taitaa olla upata tiedosto palvelimeen ja tehdä "Validate by URI".

combo [11.11.2011 18:38:50]

#

Metabolix kirjoitti:

Onko mieleesi juolahtanut lukea sivulta muutakin kuin punaiset osat? Juuri virheilmoituksen yläpuolella kerrotaan, että laatikkoon syötetty teksti käsitellään UTF-8:na.

Mulla oli valinta tunnista automaattisesti. Eikö sen silloin pitäisi tunnistaa sen ISO-8859-1:ksi?

Ja kun muutin enkoodauksen siitä pudotusvalikosta tuli ilmoitus näin:

This document was Tentatively checked as HTML5
Result: Tentatively passed

Grez [11.11.2011 18:43:11]

#

Yucca kirjoitti:

Melkeinpä helpompaa taitaa olla upata tiedosto palvelimeen ja tehdä "Validate by URI".

Tai ihan vaan "Validate by File Upload" ilman palvelimelle lähettämistä.

Metabolix [11.11.2011 18:58:17]

#

combo kirjoitti:

Eikö sen silloin pitäisi tunnistaa sen ISO-8859-1:ksi?

Miten sen voi tunnistaa ISO-8859-1:ksi, kun lomakkeelta lähetetty data on joka tapauksessa UTF-8-merkistössä – kuten väärin tallennettu tiedostokin? Validaattori siis tunnisti automaattisesti, että lähetetty data on UTF-8-enkoodattu, kuten se lomakkeelle syötettynä tuolla sivustolla on. (Lomakkeen lähettäminen ISO-8859-1-muodossa aiheutti jonkinlaisen virheen.)

combo kirjoitti:

Ja kun muutin enkoodauksen siitä pudotusvalikosta ...

Katsopa, mikä on koodilaatikon sisältö muutoksesi jälkeen: validaattori poistaa automaattisesti ISO-8859-1-merkinnän ja lisää sen sijaan UTF-8-merkinnän.

Yucca kirjoitti:

Eikä asiaa sanota käyttöliittymän alkutilanteessa

Se on kieltämättä virhe. Silti olen sitä mieltä, että viimeistään ennen kysymyksen postausta foorumille pitäisi lukea validaattorin tuloste alusta loppuun. Otsikko Notes and Potential Issues kuulostaa ainakin minusta melko tärkeältä.

combo [12.11.2011 11:32:01]

#

Kiitos avusta ja tiedoista! Kaikki johtui siis huolimattomuudestani ja tyhmyydestäni ;)


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta