IConv a hromadná změna kódování u souborů
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

IConv a hromadná změna kódování u souborůIConv a hromadná změna kódování u souborů

 
Hledat
Moderní platforma pro vytvoření vašeho nového webu – Wix.com.
Nyní už můžete mít web zdarma.
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Laser Game Ostrava

IConv a hromadná změna kódování u souborů

Google       Google       12. 5. 2009       19 699×

Stručný návod, jak rychle změnit kódování souborů pomocí nástroje IConv.

Reklama
Reklama

Když jsem přebíral jeden rozsáhlejší web, byl jsem nucen ho celý překódovat z UTF-8. Jednalo se o několik tisíc souborů, takže ruční změna byla vyloučena. Naštěstí to jde udělat velice snadno pomocí shellu a prográmku IConv. Stačí si vytvořit několikařádkový shell skript a celý převod je potom otázkou několika sekund.

IConv

IConv je velmi jednoduchý program. Přesný popis použití získáte pomocí známého příkazu man iconv. Na začátku je důležité zjistit, jestli program zná potřebné kódování. K tomu slouží parametr -l. Jelikož je často v systému zavedeno velké množství znakových sad, je vhodné tento výpis stránkovat:

iconv -l | more

Poslední dva parametry, které nás budou nyní zajímat, určují vstupní a výstupní kódování. Vstupní kódování zadáme pomocí parametru -f (from) a výstupní pomocí parametru -t (to). Na konci příkazu musíme samozřejmě uvést jméno souboru, který chceme převádět:

iconv -f windows-1250 -t UTF-8 test.txt

IConv posílá výstup na standardní výstup systému, proto je užitečné ho přesměrovat do nového souboru:

iconv -f windows-1250 -t UTF-8 test.txt > test-conv.txt

Vlastní převod

Konverze velkého množství souborů se dá realizovat jednoduchým shellovým skriptem:

for F in $(find $1 -iname "*.html")
do
        if [ -f $F ]; then
                iconv -f windows-1250 -t utf-8 $F > ${F}1
                mv ${F}1 $F
        fi
done

První řádek je inicializace cyklu, který rekurzivně projde zadaný adresář (proměnná $1) a jeho podadresáře a postupně vybírá soubory s koncovkou html (samozřejmě lze zvolit jakoukoliv jinou). Uvnitř cyklu nejprve ověříme, že se jedná skutečně o soubor a ne o adresář, a provedeme konverzi. Konvertovaný soubor uložíme do dočasného souboru, kterým v dalším kroku přepíšeme původní soubor. Zde jsem pro jednoduchost nazval dočasný soubor stejně jako původní, pouze jsem na konec přidal znak 1. V reálu je lepší použít nějaký složitější řetězec, aby se vyloučilo přepsání jiného souboru, příp. ukládat nové soubory do jiného adresáře.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

4 názory  —  4 nové  
Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Zdeněk MoravecAutor se pohybuje v oblasti vývoje nových materiálů. Mezi jeho koníčky patří tvorba webových aplikací, programování v jazycích Java, .NET (C#), Perl, elektronika a sport (běh). Hojně využívá sázecí systém LaTeX.
Web     Facebook    

Nové články

Obrázek ke článku Otevřené bankovnictví usnadní život nejen jednotlivcům, ale i firmám.

Otevřené bankovnictví usnadní život nejen jednotlivcům, ale i firmám.

Většina lidí by ráda obsluhovala své bankovní účty z jednoho místa. Díky evropské směrnici o platebních službách PSD2 by se brzy mohlo jednat o realitu. Některé tuzemské banky již služby takzvaného otevřeného bankovnictví umožňují, nejpozději od září by měly svá API rozhraní zpřístupnit vývojářům třetích stran. To otevírá prostor pro fintech firmy a start-upy, ale třeba i vývojáře ERP a fakturačních systémů, kteří by díky propojení svých produktů s bankami významně ulehčili klientům při správě financí.

Reklama
Reklama
Obrázek ke článku Velké srovnání TOP e-shopových řešení!

Velké srovnání TOP e-shopových řešení!

Předmět případové studie je ​středně velký e-shop​ s počtem produktů do 5 000, který chce expandovat na slovenský trh a potřebuje ​druhou jazykovou mutaci v eurech ​na vlastní doméně.

Výběr vhodného systému závisí na mnoha aspektech a měl by být pečlivě zvážen na základě potřeb a konkrétních požadavků plánovaného nebo migrovaného e-shopu.

Obrázek ke článku Master Data Management a jak nám pomůže

Master Data Management a jak nám pomůže

Master Data (česky také kmenová data) jsou data sdílená napříč různými systémy, nemění se příliš často a netransakční. Jedná se o informace o obchodních partnerech, produktech, vlastních pracovnících. Objednávky, faktury, účetní zápisy do této oblasti nespadají.

Obrázek ke článku Startup DoDo zajistí městskou logistiku pro RunCzech

Startup DoDo zajistí městskou logistiku pro RunCzech

Startup DoDo se stává důležitým partnerem RunCzecha na významných běžeckých závodech včetně 25. ročníku Volkswagen Maratonu Praha se bude starat o logistické zázemí. Lídr v oblasti městské logistiky bude mimo jiné zásobovat občerstvovací stanice a pomůže rovněž se zajištěním televizních přenosů ze závodů.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032019 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý