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.