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?