přejít na obsah přejít na navigaci

Linux E X P R E S, Kterak skripty zvítězily nad Windows

Kterak skripty zvítězily nad Windows

Je to pár dní, co jsem byl požádán jednou nejmenovanou firmou o převod jejich webového portálu na naše firemní linuxové servery. Obvykle v tom nebývá žádný problém, bohužel tentokrát jsem se zmýlil. Zákazník měl totiž původně stránky na hostingu s OS Windows.


Za společné asistence majitele jsme nejprve stránky zkopírovali do testovacího prostředí na mém notebooku. Nastavili jsme web server Apache a zadali správnou url do prohlížeče. Kromě chybového hlášení se však nic neukázalo. Letmým pohledem do adresáře s daty mi ihned bylo jasné proč. Soubor se nejmenoval index.php ale Index.php. Nezbylo mi tedy nic jiného, než všechny soubory, (které byly jednou s malým písmenem a podruhé s velkým písmenem na začátku - asi podle toho jak se programátor vyspal) sjednotit. Nejprve jsem si chtěl ověřit, kolik souborů portál obsahuje. Z příkazu

# ls -plaR | wc -l 

na mě vyštěklo třímístné číslo a tak bylo jasné, že převod názvů budeme řešit skriptem a nikoliv ručně. Zákazník nejenom že prudce zezelenal ale po té, co jsem zadal do terminálu příkaz

# for F in * ; do mv $F `echo $F | tr 'A-Z' 'a-z'` ; done 

a prohlásil hotovo! mu ještě spadla brada.


S úsměvem na tváři jsem opět otevřel prohlížeč a znovu zadal adresu. Stránka se již sice zobrazila, ovšem přečíst se díky "pokažené" češtině nedala. Intuitivně jsem si ve Firefoxovi (pomocí CTRL + u) zobrazil zdrojový kód stránky a takříkajíc "na jisto" pátral po meta tagu http-equiv, kde jak jsem předpokládal, bylo nastaveno kódování windows-1250. Zákazníkovi jsem spolu s patřičným vysvětlením doporučil přechod na kódování UTF-8. Po několika minutách debatování souhlasil. Editovat stovky souborů se mi opět nechtělo a tak na řadu přišel další skript. Jeho úkolem bylo nahradit řetězec charset=windows-1250 za řetězec charset=UTF-8. Přesunul jsem se do adresáře se soubory a použil příkaz find, který jsem doplnil o xargs a substituci textu perlem.


find . -type f -name '*.php' | xargs -i perl -i -pe 's/charset=windows-1250/charset=UTF-8/;' {}

Zákazník byl opět v úžasu, ovšem tím má práce nebyla zdaleka hotová. Kromě změny tagu bylo potřeba ještě překódovat samotný obsah všech skriptů. K mé smůle byly jednotlivé soubory v různých kódováních počínaje iso8859-2 přes utf-8 až po windows-1250. S tím mi pomohl program enca (sudo apt-get install enca) a tak výsledný skript opět nebyl až tak složitý


find . -type f -name '*.php' -print0 | xargs --no-run-if-empty -0 enca -x UTF-8

 

Zbývalo jen změnit záznamy v DNS a "měl jsem vyděláno".


Celý převod domény trval řádově do 10 minut. Docela by mě zajímalo, jak dlouho by trval převod administrátorovi Windows, kdyby byla situace opačná.

Nahoru

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz

Milan Kozák

Milan Kozák

I přestože jsem paranoidní neznamená, že mě nedostanou...


  • Distribuce: Debian, *BSD, Slackware

| blog



Public Relations

Digitalizace pomáhá rozvíjet miliardový byznys Prusa Research

SophosSpolečnost Sophos, dodavatel řešení kybernetického zabezpečení nové generace, připravila sérii odborných interaktivních webinářů, na kterých ve dnech 21. - 24. června nahlédnete za oponu simulovaného lovu hrozeb.

Pokračování ...



Public Relations

Rozšiřující analytické funkce řešení Flowmon

ALEF FlowmonZnámým systémem pro sle­do­vá­ní toků v síti je ře­še­ní spo­leč­nos­ti Flow­mon. V zá­k­la­du se po­u­ží­vá pro mo­ni­to­ro­vá­ní da­to­vých toků v síti a k ře­še­ní pro­b­lé­mů s tou­to ko­mu­ni­ka­cí. Při po­u­ži­tí Flow­mon sond se vi­di­tel­nost do ko­mu­ni­ka­ce dos­tá­vá až na úro­veň ap­li­ka­cí. Kromě to­ho­to zá­k­lad­ní­ho mo­ni­to­rin­gu a ná­s­tro­je na ře­še­ní pro­b­lé­mů má Flow­mon také rozšiřující moduly.

Pokračování ...


Redakční blog

Pavel Fric

Pavel Fric, 10. April

Zapojte se do tvorby distribuce Mageia

Podílejte se na vytváření balíčků pro Mageiu, dělejte, co je potřeba, staňte se baličem


Pavel Fric

Pavel Fric, 13. March

Lollypop

Lollypop je hudební přehrávač navržený, jak ukazuje jeho podoba, aby výborně zapadl do pracovního...


Pavel Fric

Pavel Fric, 26. February

QElectroTech

Kreslení elektrotechnických i jiných výkresů


Všechny blogy »