SaCzech-Uj: NÁvod k pouÚitÉ

SaCzech-Uj se sklÁdÁ ze skupiny jednoÕÃelovÙch konverznÉch programÊ. KaÚdÙ z nich pÒeklÁdÁ dokument z jedin×ho vÙchozÉho kÏdu do jednoho kÏdu cÉlov×ho, jehoÚ jm×no je souÃÁstÉ jm×na programu. ãleny rodiny SaCzech-Uj tedy jsou toASCII.cgi, toCP1250.cgi, toKEYBCS2.cgi, toMAC.cgi, atd. (t×Ú zvan× ascii.cgi, 1250.cgi, kam.cgi, mac.cgi, atd.). Tyto programy pÒedpoklÁdajÉ, Úe budou spuÓtÅny jako CGI skripty a vyuÚÉvajÉ pÒÉsluÓn× promÅnn× prostÒedÉ. Nelze je spouÓtÅt samostatnÅ (alespoÎ ne jednoduÓe).

Obsah:

ZÁklady - URL strÁnky

StrÁnku napiÓte v jednom z osmibitovÙch kÏdu, kter× SaCzech-Uj znÁ, a kterÙ byl VÁmi (nebo sprÁvcem serveru) pÒi instalaci definovÁn pomocÉ promÅnn× $source jako kÏd zdrojovÙ. Pokud chcete, aby strÁnka byla pÒekÏdovÁna, musÉte explicitnÅ vyznaÃit, Úe je napsÁna v tomto zdrojov×m kÏdu: Na ÕplnÙ zaÃÁtek strÁnky (jako prvnÉ "slovo" na prvnÉm ÒÁdku; mÊÚou mu pÒÉpadnÅ pÒedchÁzet jen prÁzdn× znaky) zaÒaÄte komentÁÒ <!--MYCHARSET=kÏd-->. Pokud tento komentÁÒ chybÉ, nebo kdyÚ kÏd v nÅm uvedenÙ nenÉ shodnÙ s hodnotou promÅnn× $source, strÁnka bude odeslÁna beze zmÅny (bude povaÚovÁna za strÁnku napsanou v ASCII, kterou nenÉ tÒeba pÒekÏdovÁvat).

StrÁnku vystavte, jak je obvykl×. Jedin×, co se zmÅnÉ, bude URL, kterÙm je tÒeba se na ni odkÁzat. JestliÚe URL strÁnky bez pÒekÏdovÁnÉ by bylo

http://www.kdesi.ca/user/cesta/stranka.html
bude URL t×Úe strÁnky pÒi poÚadavku jejÉho pÒekÏdovÁnÉ do sedmibitov×ho ASCII napÒ.
http://www.kdesi.ca/user/cgi-bin/ascii.cgi/cesta/stranka.html
PÒedpoklÁdÁm, Úe URL cesta ke kÏdujÉcÉm skriptÊm je http://www.kdesi.ca/user/cgi-bin. MÊÚete pouÚÉt libovolnÙ ze skriptÊ toXXX[.cgi]. nebo yyy[.cgi] (kde XXX Ãi yyy jsou jm×na kÏdÊ popsanÁ v pÒedchozÉch kapitolÁch). Pokud cesta ke kÏdujÉcÉm skriptÊm je http://www.jinde.cz/cgi-bin (globÁlnÉ CGI adresÁÒ serveru), bude URL poÚadujÉcÉ pÒekÏdovanou strÁnku mÉt tvar:
http://www.jinde.cz/cgi-bin/ascii.cgi/user/cesta/stranka.html

Odkazy tohoto typu vÓak pÒedpoklÁdÁjÉ, Úe pÒedem vÉte, jakÙ kÏd bude uÚivatel vyÚadovat. To Ãasto nemusÉ bÙt pravda. V takov×m pÒÉpadÅ doporuÃuji pouÚÉt skript whichcode[.cgi] a URL

http://www.kdesi.ca/user/cgi-bin/whichcode.cgi/cesta/stranka.html
pÒÉpadnÅ
http://www.jinde.cz/cgi-bin/whichcode.cgi/user/cesta/stranka.html
Skript whichcode uÚivateli oznÁmÉ, Úe cÉlovÙ dokument obsahuje diakritickÁ znam×nka a umoÚnÉ mu zvolit kÏd, kterÙ povaÚuje za optimÁlnÉ.

ZachovÁnÉ kÏdu pÒi odkazech

Je pÒirozenÙm poÚadavkem, aby uÚivatel vybÉral kÏd jen jednou a pÒi odkazech na dalÓÉ dokumenty z t×hoÚ zdroje se uchovÁvala informace o zvolen×m kÏdovÁnÉ. NejjednoduÓÓÉ cestou je relativnÉ odkaz. KdyÚ do dokumentu vloÚÉte odkaz pomocÉ znaÃky
<A HREF="kapitola1.html">PrvnÉ kapitola</A>
klient pÒepracuje relativnÉ URL kapitola1.html na absolutnÉ. Vyjde pÒitom z URL dokumentu, obsahujÉcÉho znaÃku. Pokud bylo pÊvodnÉ URL dokumentu napÒÉklad http://www.kdesi.ca/user/cgi-bin/toCP1250/cesta/obsah.html, povede zmÉnÅnÙ odkaz k dokumentu http://www.kdesi.ca/user/cgi-bin/toCP1250/cesta/kapitola1.html. Informace o kÏdu byla zachovÁna.

Pozor! Chcete-li vyuÚÉvat pro uchovÁnÉ kÏdu relativnÉ odkazy, nesmÉte v dokumentu pouÚÉt znaÃku <BASE>, kterÁ urÃuje zÁkladnÉ URL dokumentu. Kdybyste ji pouÚili, budou vÓechna relativnÉ URL vztaÚena k lokÁtoru, definovan×mu touto znaÃkou, nikoli k URL, pod kterÙm klient zÉskal strÁnku.

AbsolutnÉ odkazy se zachovÁnÉm kÏdu distribuovanÁ verze SaCzech-Uju nezvlÁdne. MusÉte pouÚÉt whichcode[.cgi]. Pokud chcete, bylo by moÚno jednoduÓe zajistit provÁdÅnÉ substituce za ÒetÅzec __CHARSET__ stejnÙm zpÊsobem jako u programu SaCzech-U. StaÃÉ vloÚit napÒ. do skriptu mac.cgi tÅsnÅ pÒed pÒÉkaz print $_; (ÒÁdek Ã. 29) nÁsledujÉcÉ tÒi ÒÁdky:

s/to__CHARSET__/toMAC/g;
s/charset=__CHARSET__/charset=MAC/g;
s/__CHARSET__/mac/g;
(tÒi separÁtnÉ substituce jsou mnohem rychlejÓÉ neÚ jedna substituce se tÒemi alternativnÉmi vzory (to|charset=|)). PÒÉpadnÅ jen ty z tÅchto tÒÉ substitucÉ, kter× budete pouÚÉvat. PodobnÅ pro ostatnÉ skripty. Tyto substituce mohou ale vÙraznÅ zpomalit konverzi. Pokud je nutnÅ nepotÒebujete, vyhnÅte se jim.

ObrÁzky se nekÏdujÉ!

SaCzech(-Uj) je selektivnÉ. KÏduje jen soubory s urÃitÙmi pÒÉponami (implicitnÅ .html, .htm a .txt; jak je zmÅnit se doÃtete v kapitole Pod kapotou v dokumentaci pÊvodnÉho programu SaCzech). Dostane-li k pÒekÏdovÁnÉ soubor s jinou pÒÉponou, odmÉtne se akce ÕÃastnit a pÒesmÅruje klienta pÒÉmo na dotyÃnÙ soubor. DÊsledkem je, Úe klient zÉskÁ soubor v pÊvodnÉm tvaru beze zmÅny kÏdovÁnÉ.

DÉky tomuto mechanismu mÊÚete na sv× strÁnky vklÁdat relativnÉ odkazy na obrÁzky, zvuky a dalÓÉ druhy dat, kterÙm by pÒekÏdovÁnÉ rozhodnÅ neprospÅlo.

JestliÚe se na strÁnce vyskytne znaÃka

<IMG SRC="obraz.gif">
a URL strÁnky je http://www.kdesi.cz/cgi-bin/toASCII/cesta/stranka.html, bude klient po serveru poÚadovat http://www.kdesi.cz/cgi-bin/toASCII/cesta/obraz.gif. Server spustÉ skript toASCII. Ten vÓak zjistÉ, Úe je po nÅm poÚadovÁno kÏdovÁnÉ souboru s pÒÉponou .gif. MÉsto aby se pustil do dÉla, odpovÉ klientovi "hele s tÉmhle jÁ nechci nic mÉt, vezmi si rovnou ten soubor". Klient si ho vezme a vÓe funguje k pln× spokojenosti vÓech zÕÃastnÅnÙch.

ZmÅna vÙchozÉho kÏdu

uprostÒed dokumentu nenÉ moÚnÁ. SaCzech-Uj ignoruje vÓechny komentÁÒe <!--MYCHARSET=kÏd--> kromÅ jedin×ho, kterÙ je umÉstÅn na Õpln×m zaÃÁtku dokumentu. Pokud mÁte rÊzn× ÃÁsti dokumentu v rÊznÙch kÏdovÁnÉch, pouÚijte nejprve napÒ. SaCzech-U ke konverzi cel×ho dokumentu do jedin×ho kÏdovÁnÉ.

MilovnÉci patologickÙch pÒÉpadÊ prostÅ pÒijdou zkrÁtka!

NabÉdka kÏdÊ

ãasto je vhodn× nabÉdnout uÚivateli pÒÉmo na strÁnce moÚnost zmÅny kÏdu t×to strÁnky. Takovou nabÉdku je nutno zkonstruovat ruÃnÅ (nebo pÒedem pomocÉ programu SaCzech-U a pak ruÃnÅ "vlepit" do dan× strÁnky).

SaCzech-Uj a CGI

SaCzech-Uj zatÉm metody http a guess nepodporuje.

Tipy, triky, rizika

ProsÉm, obraÔte se pÒÉmo na dokumentaci pÊvodnÉho programu SaCzech.