Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: Nakeman - 20.11.08 - klo:13.16
-
(Aiheesta http://forum.ubuntu-fi.org/index.php?topic=2174.0 ei löydy mitään apua)
Eli tilanne on sama kuin ylläolevassa aiheessa (johon on linkki). Esim. txt-tiedostoon kun kirjoittaa "ääkköset" ja lataa sen pöytäkoneella palvelimelle niin ääkköset ei toimi. Tiedosto on Windowsissa koodattu ANSIksi ja sama vika jatkuu vaikka olisi UTF-8. Mistä tätä vikaa kannattaisi alkaa etsimään? Conffitiedostossa ei ainakaan mitään määrityksiä ole.
Tässä on siis tämä "ääkköset"-tiedosto: http://laginen.biz/~demo/testi.txt
Kiitos etukäteen.
Helppo ratkaisu: Kun tiedostot autom. menee ISO-8859-1:ksi niin muokkaa /etc/apache2/conf.d/charset :stä UTF-8 -> ISO-8859-1 .
-
Tuolla testiwebbisivulla ääkköset näkyvät väärin, joska mukana ei ole merkkikoodauksen määritystä. Vaihtamalla selaimessa Näytä | Merkistökoodaus | ISO-8859-1 alkaa näkymään oikein.
Jos siirtelet tiedostoja, katso ettei siirto-ohjelma muuta merkistöä tai jos muuttaa tekee sen oikein. FTP:llä voi siirtää binary-tilassa, silloin ei pitäisi tehtämän merkistömuunnoksia.
Linuxissa ohjelmilla iconv ja recode voi muuttaa merkistökoodausta.
-
Itellä on Firefox alunperin ollut tolla ISO-8859-1 merkistökoodauksella ja silti näkyy väärin ääkköset. Eikä toimi itellä BINÄÄRInä siirrettynä ääkköset ja Firefoxissa tuo ISO-8859-1 koodaus saatika UTF-8:n kanssa.
-
Onko ongelman ydin, että haluat webbisivulla näkyvän ääkköset oikein? Tee .html-tiedosto, johon merkitset käytetyn merkistökoodauksen, sitten selaimet osaavat näyttää sen oikein. Voit testata w3c:n HTML-validaattorilla, http://validator.w3.org/ . Se neuvoo miten merkistökoodaus pistetään.
Tai vaihtoehtoisesti, jos pitää olla .txt-tiedosto, muuta iconv tai recode -ohjelmilla tiedoston merkistökoodaukseksi UTF-8, siirrä tiedosto tavalla joka on 8 bit clean eikä muuta merkistökoodausta (vaikka scp tai joku muu FTP-ohjelma jos käyttämäsi kerran binary-tilassakin sotkee merkit).
-
Ongelma ratkesi niin, että muunsin Notepad++:lla tiedoston merkistökoodauksen UTF-8 ja latasin tiedoston palvelimelle. Mutta kun tonne tulee luultavasti muutkin kuin minä pistämää tiedostoja niin pitää laittaa Apache näyttämään ne ISO:na.