[LUGOS] apache 2.0.45 in č
Metod Kozelj
metod.kozelj at lugos.si
Tue May 6 08:53:14 CEST 2003
Howdy!
Tomaz Zupan wrote:
>Apache mi servira strani, ki so narejene v okolju windows (cp 1250) in
>predvidevamo, da bo tudi pričakovana publika večinoma uporabljala to okolje.
>Zato je v
>dokumentih je v glavi vrstica:
><meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> ,
>ki naj bi poskrbel za pravilen prikaz šumnikov. Probleme mi dela č, ki se
>pravilno pokaže samo, če na strežniku vključim AddDefaultCharset
>WINDOWS-1250 ali če vse znake č v html dokumentih zamenjam z č
>
Pravzaprav ni problem v Apachu, temveč v browserjih. No ja, pravzaprav v
web developerju, ampak ...
Torej, browser dobi od http serverja header
Content-Type: text/html
in temu primerno začne izrisovati html stran s svojim privzetim naborom
znakov (ki je običajno ISO 8859-1). Potem naleti na meta tag. In potem
je stvar browserja ali v tem stadiju še zna preklopiti nabor znakov ali
ne. Po mojih izkušnjah browserji pravilno izberejo nabor znakov, če od
njih zahtevaš 'refresh' ... (ne reload) strani.
Prava rešitev je, da http server pove pravi nabor znakov. Če imaš na
strežniku mešanico dokumentov pisanih v različnih naborih znakov, potem
vsakemu nabori znakov prirediš drugo končnico in potem glede na končnico
določiš tip datoteke.
Npr. takole:
AddType text/html;charset=iso8859-1 .html
AddType text/html;charset=windows-1250 .htm
AddType text/html;charset=iso8859-2 .html-l2
Predpostavka, da mora http server servirati dokumente z naborom znakov v
cp1250, ker da bo večina klientov uporabljala to okolje, je dandanašnji,
milo rečeno, smešna. Vsi moderni browserji podpirajo *standardni*
razpored znakov (ki je *ISO* 8859-? ali pa *ISO* 10646 za Unicode) in ga
znajo prekodirati v 'platform specific', ki je primeren za sam prikaz.
Zato bi bilo bolje, da vse skupaj pretvoriš v, recimo, iso 8859-2 pa še
v unix varianto (torej konec vrstice le LF, brez CR) da bodo dokumenti
kakšen byte krajši.
--
Peace!
Mkx
---- perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);'
More information about the lugos-list
mailing list