Až budete chtít někdy dávkově konvertovat kódování souborů ...
Čas od času řeším problém jak hromadně zkonvertovat sadu souborů z kódování A do kódování B, popřípadě jak ze sady souboru odstranit UTF-8 BOM. Vždy jsem na hledání nějakého jednorázového vehementu strávil plno času, především proto, že to obvykle nefungovalo tak úplně jak bych potřeboval. Na odstranění BOMu, jsem navíc nenašel vůbec nic. Nakonec mi došla trpělivost a za 20 minut jsem si spíchnul utilitku, kterou jsem si problém jednou provždy (doufám) vyřešil. A pak že je Java na takovéhle utilitky nešikovná (vím že v Groovy bych to měl na polovině řádku, ale ještě nejsem úplně Groovy ready) ...
Utilitka je směšně jednoduchá - před použitím zatřepat a na příkazový řádek napsat:
java -jar convertor-1.0.0.jar -m convert -i utf-8 -o windows-1250 -s /www/vstupni -t /tmp/vystupni -e java,txt,properties,xml
Tímhle příkazem zkonvertujete všechny soubory s příponami java, txt, properties, xml z adresáře /www/vstupni z kódování UTF-8 do kódování windows-1250 a výsledek se uloží do složky /tmp/vystupni. Pro odstranění BOM stačí -m convert zaměnit za -m removeBOM.
Nehledejte v utilitce žádnou inženýrský přístup - jde jen o jednorázovku, která má plnit jednoduchý účel. Třeba se vám ale bude taky hodit ...
Convertor [JAR 150kB] ke stažení
Zdrovové soubory [ZIP 4kB] ke stažení
Application for batch file encoding and UTF-8 BOM removal
Many times I had a need for batch file encoding conversion or UTF-8 BOM removal. I repeatedly searched for utility appliacations that would do this for me, but usually lost a lot of time trying them and finally uninstall them dissapointed. The problem is so dumb simple, that I couldn't resist and wrote my own in 20 minutes, doing the right thing I need. Feel free to use it or extend it, if you want.
Usage is simple - you would need Java 1.5 installed:
java -jar convertor-1.0.0.jar -m convert -i utf-8 -o windows-1250 -s /www/input-t /tmp/output-e java,txt,properties,xml
Thic command will convert all files with extension of java, txt, properties and xml from input directory /www/input into output directory /tmp/output from encoding utf-8 into windows-1250. If you need to batch remove UTF-8 BOM, just change the mode to -m removeBOM.
Komentáře