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.