V otlichii ot programm elektronnoj pochty i chteniya novostej net nikakih standartov dlya russkoj kodirovki na WWW. Osnovnaya prichina zaklyuchaetsya v tom, chto vsemi kompaniya Microsoft predostavlyaet programmy sozdaniya Web sajtov, kotorye znayut o sushchestvovanii tol'ko odnoj russkoj kodirovki cp1251, polnost'yu ignoriruya sushchestvovanie drugih standartov.
Nastrojki, opisannye zdes', ochen' primitivny. Oni pozvolyat vam videt' stranicy v KOI8-R kodirovke. Esli situaciya kak-to izmenitsya, to ya dobavlyu eshche informacii.
Nachinaya s versii 2.6, vy mozhete vybirat' sootvetstvuyushchee
znachenie dlya displeya - display Character set
.
lynx versii 2.8 pozvolyaet smotret' stranicy v lyuboj kodirovke,
a ne tol'ko
v KOI8-R.
Dlya nactrojki sleduet vyjti v menyu 'o'ptions i proverit' sleduyushchie nastrojki:
display (C)haracter set : KOI8-R character set preferred document c(H)arset : koi8-r;q=1.0,windows-1251;q=0.5
Esli russkaya (KOI8-R) stranichka otobrazhaetsya Lynxom ne verno,
to eto oznachaet, chto stranica neverno oformlena (sm. razdel
Kak pravil'no podgotovit' svoyu WWW stranichku)
V poslednih versiyah Lynx eto obhoditsya sleduyushchim obrazom:
v nastrojkah nazhmite '^A' i vyberete koi8-r
(v osnovnom otobrazhayutsya zaglavnye bukvy) ili windows-1251
(v osnovnom propisnye bukvy). V staryh versij Lynx
posle etogo sleduet nazhat' @
(vklyuchit' raw rezhim).
Dlya prosmotra WWW v tekstovom rezhime mozhno ispol'zovat' links (opyat' nashi brat'ya chehi na vysote). Podderzhka kirillicy uzhe vstroena v programmu - nado tol'ko ustanovit' kodirovku terminala (v menyu "Nastrojki") i kodovuyu stranicu dokumenta (v menyu "Vid").
Ubedites', chto vy ispol'zuete Netscape
versii 4.06 i vyshe.
Nachinaya s etoj versii Netscape
podderzhivaet kirillicu
gorazdo luchshe.
Nakonec-to, svershilos', teper' Netscape podderzhivaet russkie kodirovki pravil'nym obrazom. Vam nado tol'ko pravil'no nastroit' shrifty KOI8-R. Posle etogo, esli naprimer trebuetsya pokazat' dokument, kotoryj ispol'zuet cp1251, Netscape avtomaticheski perekodiruet ves' dokument v KOI8-R i pravil'no otobrazit ego, dazhe esli u nego net dostupa k cp1251 shriftam.
K sozhaleniyu Netscape vsegda budet perekodirovat' dokumentu, ispol'zuyushchie cp1251 v KOI8-R, dazhe esli emu dostupny takzhe i shrifty dlya ISO-8859-5. Iz za etoj "gluposti" vy smozhete uvidet' nerusskie kirillicheskie bukvy, tol'ko esli v sisteme installirovany shrifty dlya ISO-8859-5 i net ni odnogo shrifta KOI8-R. Konechno, eto reshenie nepriemlemo, esli vy ispol'zuete KOI8-R. Mne neizvestno kak zastavit' Netscape pokazyvat' ukrainskuyu bukvu "g s chubom". Iz standartnyh kodirovok ona vklyuchena tol'ko v cp1251 i KOI8-U.
Dlya togo chtoby pravil'no nastroit' KOI8-R v vashem Netscape, sdelaete sleduyushchee:
Options/General Preferences/Fonts
vyberite
Cyrillic (KOI-8)
kodirovku.
Times(Cronyx)
- kak proporcional'nyj shrift i Courier(Cronyx)
-
kak fixed.
VNIMANIE: Vse bol'she i bol'she poyavlyaetsya WWW stranic, oformlenie kotoryh sil'no zavisit ot opredelennyh shriftov. |to v osnovnom kasaetsya stranic, sozdannyh pod i dlya MS Windows. YA nastoyatel'no rekomenduyu ustanovit' server shriftov s podderzhkoj TrueType. S pomoshch'yu nego nekotorye stranichki stanut vyglyadet' gorazdo luchshe. Dlya vyyasneniya podrobnostej smotrite razdel Ispol'zovanie shriftov TrueType
Nekotorye WWW stranichki v internete pravil'no otvechayut na zapros
po povodu ispol'zuemoj pri ih sozdanii kodirovki. Drugie trebuyut,
chtoby vy vybrali kodirovku sami. Dlya togo chtoby eto sdelat' vyberete
pravil'nuyu opciyu kodirovki v menyu Options/Document Encoding
.
Netscape versii 4.08 pravil'no otobrazhaet elementy form, ispol'zuyushchih pravil'nuyu kodirovku (po krajnej mere dlya bol'shinstva stranic, kotorye ya videl). Bolee starye versii delayut eto nepravil'no. Odnako, esli po kakim-to prichinam vam nado ispol'zovat' bolee staruyu versiyu, ili pravil'noe otobrazhenie form po kakoj-libo prichine ne rabotaet, to poprobujte sdelat' sleduyushchee:
Netscape.ad
) v ~/Netscape
*documentFonts.charset*iso8859-1: koi8-r
|to vynudit vse frejmy i elementy vvoda ispol'zovat' shrifty s kodirovkoj koi8-r vmesto zadannyh po umolchaniyu, a sledovatel'no vy dolzhny udostoverit'sya v tom, chto vy uzhe ustanovili takie shrifty (sm. razdel Ustanovka shriftov dlya X Window).
Plohaya novost', ob ispol'zovanii etogo tryuka zaklyuchayutsya v tom,
chto esli vy zagruzhaete dokument, kotoryj dolzhen otobrazhat'sya
s pomoshch'yu shriftov iso-8859-1
, to vmesto etogo on otobrazitsya
s pomoshch'yu koi8
shrifta. Inogda takie dokumenty vyglyadyat huzhe.
Principial'no ne rusificiruemye veshchi: u oboih netskejpov (3 i 4)
budut trudnosti so stranicami v kodirovke, ne sootvetstvuyushchej
'meta content-type'
v zagolovke (tradicionnaya problema
serverov s vyborom kodirovok i avtorov, pol'zuyushchihsya resheniyami ot MS).
Ne lechitsya nichem, krome haka binarnikov. CHto eshche huzhe - esli v dokumente
yavno ukazan shrift, i takoj shrift, ne daj bog, u vas imeetsya (estestvenno, ne
rusificirovannyj), to im vse i budet narisovano. Reshenij dva: ili ne imet'
v sisteme ne-rusificirovannyh shriftov vovse, ili otklyuchit' v netskejpe
avtomaticheskuyu zagruzku izobrazhenij, pri etom "zaodno", kak ni stranno,
otklyuchitsya i pokaz shriftov, ukazannyh v dokumente. Nazhav Alt-I, vy poluchite
vozmozhnost' posmotret' kartinki. Nadeyus', tekst k etomu momentu vy
uzhe zapomnili ;).
Esli vam nuzhno chego-to eshche: Andrej A. CHernov - eto chelovek kotoryj znaet bol'she chem drugie o KOI-8 v obshchem i v netscape v chastnosti. Posetite ego prevoshodnuyu KOI8 page stranicu, i skachajte zaplatu dlya fajla resursov Netscape, kotoryj zastavlyaet Netscape govorit' po Russki, tak horosho kak eto tol'ko vozmozhno.
|tot razdel poyavilsya blagodarya (fakticheski polnost'yu sostoit iz) stat'yam Andreya A. CHernova. Podrobnuyu informaciyu po etomu voprosu mozhno najti na stranichke A.A. CHernova KOI8-R - Russian Net Character Set.
Vsemirnoe padenie nravov nachalos' s neznachitel'noj ustupki pol'zovatelyam. Kak izvestno, v standartah po HTML/HTTP chetko skazano, chto kazhdomu dokumentu dolzhen sootvetstvovat' takoj parametr, kak MIME-imya kodirovki, i est' tol'ko odin sluchaj, kogda ego mozhno ne ukazyvat' - esli dokument sostavlen v kodirovke ISO 8859-1. |to pravilo okazalos' libo sovershenno neizvestnym, libo nevynosimo slozhnym dlya nepodgotovlennyh pol'zovatelej, tak chto oni predpochli proignorirovat' ego i stranichki sozdavalis' prosto nabivaniem nekotoryh kodov.
Dalee, kompanii Netscape nachal postupat' potok pretenzij, chto stranichki, nabitye takim obrazom, ne vidny. Vmesto togo, chtoby otoslat' lamerov k dokumentacii, kompaniya Netscape delaet fatal'nyj hod, minimal'no neobhodimyj, chtoby vse okonchatel'no razrushit' - vvodit vozmozhnost' vybora kodirovki dlya stranichek, gde ona ne ukazana!
Estestvenno, posle takogo uzhe nikto ne schitaet nuzhnym ukazyvat' kodirovku dokumenta; ran'she ostanavlivalo hotya by to obstoyatel'stvo, chto byli zatrudneniya s prosmotrom krivyh stranichek, trebuyushchie takoj dostatochno slozhnoj operacii, kak zamena shrifta ISO 8859-1 na shrift ispol'zuemoj kodirovki, teper' eto prepyatstvie bylo preodoleno blagodarya popustitel'stvu Netscape. Vsled za Netscape etot fatal'nyj shag delayut i proizvoditeli ostal'nyh brouzerov, iz soobrazhenij vyzhivaniya v konkurentnoj bor'be. Vernut' vse nazad nevozmozhno iz-za teh zhe kommercheskih soobrazhenij...
Tem samym, teper' vybor kodirovki perenositsya s avtomaticheskogo urovnya na pol'zovatel'skij, otsyuda vse eti nadoedlivye vyberite vashu kodirovku i na stranichkah i v brouzerah.
V svyazi s obshchej kommercializaciej Internet takie veshchi, kak sootvetstvie standartam uzhe perestayut byt' argumentom, i produkty, eshch£ sleduyushchie im, potihon'ku vytesnyayutsya v marginal'nye oblasti. V obshchem, process povtoryaet proishodyashchee v sociume, i budet prodolzhat'sya do teh por, poka uchastnikov ne nachnet toshnit'. |tot porog otodvigaetsya vse dal'she i dal'she blagodarya udivitel'nym sposobnostyam chelovecheskogo organizma k adaptacii...
VNIMANIE! Inogda ya slyshu bezotvetstvennye "mneniya" po povodu togo, chto ukazyvat' kodirovku neobyazatel'no i ne nuzhno: mol pol'zovatel' u nas ne lenivyj, vyberet vruchnuyu. Pri etom "sovetchiki" zlostno umalchivayut o tom, chto nadezhnogo avtomaticheskogo opredeleniya kodirovki ne sushchestvuet i ne mozhet sushchestvovat' v principe; tak chto vebmastera, ne prostavlyayushchie kodirovku, s kakoj-to veroyatnost'yu stavyat svoi stranichki pod udar byt' neverno istolkovannymi raznogo roda sistemami avtomaticheskoj obrabotki teksta, naprimer, poiskovymi mashinami. |to vse ravno kak vam by predlozhili soglasit'sya byt' ubitym s nebol'shoj veroyatnost'yu, skazhem 3%. I zachem vam eto nuzhno?
Zdes' privedena po shagovaya instrukciya pravil'noj podgotovki vashih russkih stranichek dlya WWW:
Netscape Composer
bez vsyakoj zametnoj raznicy. Malo
togo, v takom vide vashi stranichki budut odinakovo horosho vidny dlya
vseh operacionnyh sistem bez vsyakih pereklyuchatelej kodirovok,
prevrativshihsya v bich russkogo WWW.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
na tag
<HTML LANG=ru>
,
eto ukazhet, chto vash dokument na russkom yazyke i oblegchit
zhizn' poiskovikam.v samom verhnem kataloge, soderzhashchem vashi stranichki,
sozdajte fajl s imenem .htaccess
, dostupnyj vsem na
chtenie s takimi strochkami:
AddDefaultCharset koi8-r AddLanguage ru .html .txt
AddCharset koi8-r .html .txt AddLanguage ru .html .txt
AddType "text/html; charset=koi8-r" .html AddType "text/plain; charset=koi8-r" .txt AddLanguage ru .html .txt
Esli fajl .htaccess
uzhe est', prosto dobav'te tuda eti
strochki.
Zapisannoe v .htaccess
rasprostranyaetsya na vse podkatalogi
vniz po derevu.
Podrazumevaetsya, chto vashi HTML dokumenty zakanchivayutsya na
.html
, esli oni zakanchivayutsya na .htm
, pomenyajte
.html
na .htm
v predlagaemom obrazce.
Pri takih nastrojkah ne obyazatel'no (no mozhno) ukazyvat'
yazyk tagom <HTML LANG=ru
kak eto bylo opisano vyshe.
Ukazanie yazyka vnutri HTML dokumenta imeet prioritet nad ukazaniem dlya servera.
Tak kak dlya tekstovyh (*.txt
) dokumentov nikak nel'zya
ukazat' yazyk vnutri dokumenta, ukazanie dlya servera eto
edinstvennaya al'ternativa.
Esli u vas na servere stoit Apache/RUS, to
rekomenduetsya
otklyuchit' vsyakuyu avtomaticheskuyu perekodirovku, dobaviv v
.htaccess
direktivu
CharsetTurnOff On
PREDUPREZHDENIE: v poslednih versiyah Apache obrabotka
fajlov .htaccess
po umolchaniyu vyklyuchena v glavnoj
konfiguracii (direktivoj AllowOverride None
), t.e. vashi
ustanovki ne budut imet' nikakogo effekta. V etom sluchae
poprosite vebmastera vklyuchit' takuyu obrabotku dlya vashego
kataloga, dobaviv direktivu
AllowOverride +FileInfo
<Directory ...>
konfiguracii Apache.
v kazhdom kataloge, soderzhashchem vashi stranichki, zavedite
fajl s imenem .htaccess
, dostupnyj vsem na chtenie s
takimi strochkami:
AddType text/html;\ charset=koi8-r .html AddType text/plain;\ charset=koi8-r .txt
Esli fajl .htaccess
uzhe est', prosto dobav'te tuda eti
strochki.
Podrazumevaetsya, chto vashi HTML dokumenty zakanchivayutsya na
.html
, esli oni zakanchivayutsya na .htm
, pomenyajte
konec stroki na .htm
sootvetstvenno.
dlya kazhdogo vashego kataloga s russkimi stranichkami
sozdajte podkatalog .web
, v nego polozhite fajly s
imenami, skonstruirovannymi dobavleniem suffiksa .meta k
imenam v glavnom kataloge. Katalog .web
i fajly v nem
dolzhny byt' dostupny vsem na chtenie. Naprimer, fajlu
index.html
sootvetstvuet fajl
.web/index.html.meta
i t.d.
Kazhdyj takoj fajl dolzhen soderzhat' sleduyushchuyu strochku
Content-Type: text/html; charset=koi8-r
Content-Type: text/plain; charset=koi8-r
sperva poprobujte proassociirovat' rasshireniya .html
i
.txt
po analogii s resheniyami vyshe, esli vy ne znaete, kak
eto sdelat' v vashem HTTP servere, vam prid£tsya
redaktirovat' neposredstvenno sami vashi stranichki: v
sekciyu <HEAD>
kazhdogo HTML dokumenta vstav'te samoj
pervoj direktivoj sleduyushchij tag:
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-r">
<HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-r"> <TITLE>Zagolovok stranichki</TITLE> </HEAD> <BODY> Soderzhimoe stranichki </BODY>
K sozhaleniyu, v etom sluchae nevozmozhno ukazanie kodirovki
dlya tekstovyh fajlov (*.txt
).
Na etom vse gotovo. Pri prosmotre vashih stranichek nikto teper' ne uvidit musora iz umlyautov vmesto normal'nyh russkih bukv, i ne pridetsya bol'she vybirat' kodirovki!
Kak proverit', udalos' li prostavit' kodirovku i yazyk v HTTP zagolovke?
Dopustim, vasha stranichka nazyvaetsya
http://www.yourserver.ru/yourpath/yourpage.html
telnet www.yourserver.ru 80
HEAD /yourpath/yourpage.html HTTP/1.0
(vozmozhno, v nekotoryh sistemah prid£tsya nabirat' vslepuyu)
Content-Type
i prover'te, chto tam stoit ne
prosto text/html
, a text/html; charset=koi8-r
Content-Language: ru
A sovsem starye versii brouzerov ne pokazyvayut russkih bukv pri takom sposobe, chto delat'?
Posovetovat' pol'zovatelyu smenit' versiyu brouzera na bolee novuyu. V kachestve precedenta, vspomnite, chto bylo s vvodom progressivnyh JPEG, ili animirovannyh GIF? Vse pomenyali versii na novye, nikto ne zhalovalsya i ne delal dve kopii stranichek, odnu s GIFami, a druguyu - bez, a potom predlagal by ih vybrat'...
A nel'zya sdelat' tak, chtoby 1) starye versii rabotali, 2) novye versii rabotali, i 3) chtoby pol'zovatelyu bylo udobno?
Nel'zya. Iz etoj trojki mozhno sdelat' vmeste tol'ko dva, na vybor. Iz-za nenavisti k pol'zovatelyu u nas chasto delayut (1) chtoby starye versii rabotali i (2) chtoby novye versii rabotali (pri etom standartam ne sootvetstvuet), ya zhe predpochitayu (3) chtoby pol'zovatelyu bylo udobno i (2) chtoby novye versii rabotali (pri etom [31]standartam sootvetstvovalo), a vy?