Saattaapi olla hiukan yleisluontoinen kysymys, mutta annanpa kuitenkin palaa.
Mitä pitää ottaa huomioon, jos aikoo sivustolla käyttää vaikkapa puolalaisia tai romanialaisia latinalaisten aakosten erikoismerkkejä?
Kannataako merkit esim. panna html numerokoodina? Mitä standardeja tms tulee sivun headiin? Muuta huomioitavaa?
Minä käyttäisin Unicodea (header("Content-Type: text/html; charst=UTF-8");) ja printtaisin merkit raakana.
Toinen mahdollisuus on toki käyttää jotain kasibittistä koodausta (vaikka kotoinen ISO-8859-15) ja tosiaan entitetisöidä kaikki merkit.
Mitä itseasiassa tarkoitat "raakana"?
Sen huomasin, että kun kun tuikkaa
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
headeriin, niin merkit joissa on vaikka aksentti tai umlautti näkyvät aivan väärin. Toisaaalta a jossa on breve, näkyy tavallisena a -kirjaimena. Elikkä täytyy ilmeisesti muutella kaikki hiukan erikoisemmat merkit Unicodeeen?
J.Sobieski kirjoitti:
Mitä itseasiassa tarkoitat "raakana"?
Sitä, että kirjoitat merkit ihan tavallisesti, etkä enkoodaa niitä entiteeteillä.
J.Sobieski kirjoitti:
Sen huomasin, että kun kun tuikkaa [...] headeriin, niin merkit joissa on vaikka aksentti tai umlautti näkyvät aivan väärin.
Näin käy kun se tiedosto ei oikeasti ole UTF-8:a, vaan esim. ISO-8859-1:stä. Noissa kun kaikki paitsi ASCII-merkit ilmaistaan eri tavalla.
Tallenna tiedosto UTF-8:na (Vimissä :set fenc=UTF-8) niin nuo näkyvät oikein.
Enpä tietysti haluasi olla näin ignorantti - mutta moku diletanttina on pakko kysyä:
lainaus:
(Vimissä :set fenc=UTF-8)
Ilmeisesti Vim on joku editori?
Käyttämässäni editorissa voi tekstin muuttaa Unicodeksi ennen tallennusta, mutta sen jälkeen selaimessa näkyy pelkkä sivun koodi...
J.Sobieski kirjoitti:
Ilmeisesti Vim on joku editori?
Oikein arvattu; http://www.vim.org/
J.Sobieski kirjoitti:
Käyttämässäni editorissa voi tekstin muuttaa Unicodeksi ennen tallennusta, mutta sen jälkeen selaimessa näkyy pelkkä sivun koodi...
Kannattaa katsoa, että se editori tallentaa UTF-8:na, eikä UTF-16:na, joka ei ole ASCII-yhteensopiva.
UTF-16:kin saa näkymään, kun kertoo tuon merkkikoodauksen oikeissa HTTP-headereissa (niissä, joita PHP:n header() suoltaa ulos) meta-tagin sijasta.
Tästähän se homma etenee! Kiitoksia.
Aihe on jo aika vanha, joten et voi enää vastata siihen.