(tieto)tekniset jutut

Älä käytä AddDefaultCharset-direktiiviä

Huomasin konfiguroineeni erään asentamani www-palvelimen (Apache 2.2) väärin: siellä oli oletuksena päällä "AddDefaultCharset UTF-8". Koska tiesin, että suurin osa palvelimen kautta näytettävistä tiedostoista ei ole UTF-8:a, laitoin sen sijaan "AddDefaultCharset ISO-8859-1". Tämä oli virhe.

Palvelimella osa dokumenteista kun on jotain aivan muuta, esimerkiksi windows-1251-merkistöä. Monissa HTML-dokumenteissa on asianmukainen meta-elementti, joka kertoo, mitä merkistökoodausta dokumentissa käytetään. Selain osaa sitten näyttää dokumentin sen mukaan. Mutta jos oletusmerkistökoodaus on päällä, palvelin julistaa lähettämänsä vastauksen headereissa oletusmerkistökoodauksen (ISO-8859-1 tässä tapauksessa). Tämän seurauksena muita koodauksia olevat dokumentit, esimerkiksi kyrillisiä aakkosia sisältävät dokumentit näkyivät väärin.

Lesson learned: älä käytä Apachessa AddDefaultCharsettia, ellet tiedä, mitä olet tekemässä.

Postattu 2007-08-01 kello 15:09 – kuuluu luokkaan: wwwpermalinkki

Kommentit

Elias Aarnio kirjoitti:

Tämä oli hyvä tieto. Noiden merkistöjen hallinnasta ja valinnasta olisi ehkä hyvä saada Finnish-howto aikaiseksi jonnekin.

2007-08-30 kello 22:02

jukka kirjoitti:

Eikös Korpelan merkistöoppaat aika hyvin täytä tuon tehtävän.
2007-08-30 kello 22:06

Elias Aarnio kirjoitti:

No eittämättä perustan. Tarkoitin erilaisia kokemuksiin perustuvia best practise-juttuja tietojärjestelmissä. Esim. kokonaisuus, jossa samoja levyalueita mountataan sekä Windows-koneisiin että Linux-koneisiin voi olla yllättävä. Menee kuitenkin ohi aiheen.
2007-08-31 kello 21:52

Eero kirjoitti:

Ehkä vähän myöhässä tämä kommentti, mutta artikkelista oli hyötyä, joten kiitokseni siitä.

Tästä aiheesta löytyy edelleen aika huonosti tietoa (suomeksi, englanniksi), mutta UTF-8 on mieletäni hyvä ratkaisu, kunhan koko saitti on varmasti koodattu UTF-8 without BOM -tukevalla editorilla. Lisäksi tietenkin esim. data tietokantaan pitää tallentaa tällä charsetilla.
2009-07-10 kello 14:46

Lisää kommentti

:

:
:
:
Viisi numeroa