Kirjoittaja Aihe: Apache2, character encoding ?  (Luettu 2127 kertaa)

Mistofelees

  • Käyttäjä
  • Viestejä: 661
    • Profiili
Apache2, character encoding ?
« : 06.09.12 - klo:09.27 »
Pitäisi tehdä asiakkaalle webbisivusto webbihotelliin pelkästään tiukasti rajatulle Suomalaiselle käyttäjäryhmälle. Sivusto on htaccessin salasanojen takana, joten ulkolaisista käyttäjistä ei tarvitse välittää.

Tuolla hotellissa kaikki localen näyttämät asetukset ovat en-US.
Normaalisti käytän webbisivulla merkistön määrittelyä:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

Jos pistän Puttyssä Translation UTF-8, tulevat kaikki päätteen scändit töhryinä, eikä niitä pysty editoimaan, koska kursori liikkuu niiden kohdalla ennakoimattomasti. Web-sivun editointi on siis tuskaista. Editointia varten joudun vaihtamaan Puttyn Translation ISO-8859-15:1999 (Latin-9, "euro"), jolloin scändit näkyvät kahden merkin yhdistelminä, esim 'ä' = 'À'. UTF-8 olisi kuitenkin hyvä, koska web-sivulla jolla käyttäjät itse pääsevät luomaan hakemistoja, on mahdoton estää scändien käyttöä.

Jos hakemisto tehdään muulla, kuin UTF-8 -asetuksella, selain ei tunnista hakemiston nimeä lainkaan, koska se tallentuu töhryinä.

Aikani Googlailtuani ja taisteltuani pistin seuraavasti:
- Puttussä Translation UTF-8
- html -sivun <head>-osassa <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- ~/.barshrc:ssä LANG=fi_FI.UTF-8

Tuo viimeinen temppu ainakin vaikuttaa hyvältä.
Tosin vielä jää itselle epäselväksi, pitääkö tuo tehdä täälä vai esim ~./bash_profilessa. /etc -hakemiston kamoihin en pääse hotellissa käsiksi.

_Pete_

  • Käyttäjä
  • Viestejä: 1845
  • Fufufuuffuuu
    • Profiili
Vs: Apache2, character encoding ?
« Vastaus #1 : 06.09.12 - klo:10.30 »
Merkistö asetus pitää tehdä pelkästään apachen conffeihin, esim. että sen lähettämät html/muut on enkoodattu UTF-8 merkistöllä. Sen lisäksi itse tiedostot pitää tietenkin oikeasti olla talletettu kyseisellä enkoodauksella. Apache ei siis tuolla tavalla ole mitenkään riippuvainen miten muun systeemin local/merkistö on säädetty.


Mistofelees

  • Käyttäjä
  • Viestejä: 661
    • Profiili
Vs: Apache2, character encoding ?
« Vastaus #2 : 06.09.12 - klo:11.52 »
Merkistö asetus pitää tehdä pelkästään apachen conffeihin, esim. että sen lähettämät html/muut on enkoodattu UTF-8 merkistöllä. Sen lisäksi itse tiedostot pitää tietenkin oikeasti olla talletettu kyseisellä enkoodauksella. Apache ei siis tuolla tavalla ole mitenkään riippuvainen miten muun systeemin local/merkistö on säädetty.

Näinhän se on, mutta webbihotellin confeihin ei pääse käsiksi.

Nuo html-koodin ongelmat sain sentään voitetuksi tuolla META-tagilla.
Varsinainen ongelma oli siinä, että koneen localet olivat en_US, jolloin kaikkinainen editointi oli mahdotonta. Puttyssä piti käyttää UTF-8:aa, jotta WEB-sivun tulostamat merkit tulivat oikein. Päätteellä kaikki oli kuitenkin puuroa, kunnes lisäsin tuonne .bashrc -tiedotoon tuon LANG=fi_FIN.UTF-8

Aina sitä jotain oppii. Tämä locale-juttu on ollut itselle PITA jo vuosia.

_Pete_

  • Käyttäjä
  • Viestejä: 1845
  • Fufufuuffuuu
    • Profiili
Vs: Apache2, character encoding ?
« Vastaus #3 : 06.09.12 - klo:12.34 »
Merkistö asetus pitää tehdä pelkästään apachen conffeihin, esim. että sen lähettämät html/muut on enkoodattu UTF-8 merkistöllä. Sen lisäksi itse tiedostot pitää tietenkin oikeasti olla talletettu kyseisellä enkoodauksella. Apache ei siis tuolla tavalla ole mitenkään riippuvainen miten muun systeemin local/merkistö on säädetty.

Näinhän se on, mutta webbihotellin confeihin ei pääse käsiksi.


Tuon apachen globaalin conffin charsetin pystyy overrideämään htaccess:

http://www.w3.org/International/questions/qa-htaccess-charset.en
google: apache htaccess override encoding