Předmět Autor Datum
Jan Fiala
David.dave58
Jan Fiala
David.dave58
Jan Fiala
David.dave5874
Time
David.dave58
host
David.dave58
host
Time
David.dave58
Time
David.dave58
Time
Bohužel ani WordPad ..
David.dave58 06.09.2021 21:37
David.dave58
Time
David.dave58
Time
David.dave5874
Time
Jan Fiala
Time
ml1
Jan Fiala
ml1
pozorovateľ
Abox
Adams1158
Time

Vsechny zmíněné způsoby - cmd i powershell diakritiku podporují.Aby se dalo odpovědět konkrétně, je yreba dotaz konkrétně položit.

Pokud chceš cmd připravit v poznamkovem bloku, musíš výsledný cmd uložit v OEM kódování (latin 2) nebo použít na začátku davky prikaz CHCP

To už je ale problém tvé instalace Windows. Nemáš nastavenu češtinu pro neunicode programy. Tipuji na Windows 10, které jsi dostal předinstalované s počítačem od nějakého většího výrobce.Používají zmršený obraz, do kterého "připrdnou" lokalizaci.

Dá se to vyřešit:
Pravá myš na Start / Spustit / ControlHodiny a oblast / Oblast
Druhá záložka - správa

Ve druhé části je pro programy nepodporující Unicode sice Česko, ale mají to blbě.
Takže změnit na třeba Angličtina (Spojené státy), potvrdit, restartovat
Pak to samé a vrátit na Česko, opět restart

Tím se systém uvede do stavu, v jakém měl správně být.

Comandline je bez problémů (teda aspoň pokud jde o češtinu, azbuku nebo japonské znaky rozhodně ten windowsovský nebere, to umí jen ten linuxový), jen se musí ten bat uložit se správným kódováním (latin2 nebo 1252 či co už nevim, ale to se lehce vyzkouší). A lepší než poznámkový blok je na to PSPad, který to umožní.Já jsem něco podobného, ale složitějšího řešil před časem. Šlo o to, že mám program, který načítá názvy souborů ze standardního vstupu (stdin) a dělá s nima něco (v tomto případě výpočet nebo kontrola crc ale to je úplně jedno, jde o to, že se k němu ten název musí dostat). Program je konzolovou aplikací, takže očekává kódování windows, i když funguje na příkazovém řádku. Ten standardní vstup jsem normálně přesměrovával na soubor, kde jsem právě musel použít správné kódování češtiny. Ten soubor vznikal jako:

 dir *.* /s/b > seznam.txt 

ale pak jsem právě musel převést češtinu z latin do windows. Na to jsem měl jinou aplikaci, která stdin překlopila na stdout s převedenou češtinou, ale ta nefiungovala v 64 bitových windows (vůbec nechápu proč), tak jsem to provizorně dělal ručně, než to zkompiluju pro 64 bitů. Předtím to bylo jen zřetězení tří programů, poté jsem ten prostřední článek musel dělat ručně.Po několika letech mě to přestalo bavit, tak jsem hledal jak z toho ven, aniž bych musel provádět archeologický průzkum (tu sadu aplikací jsem dělal odhadem nejpozdějc roku 2005 a bylo by snad rychlejší to udělat znova než dohledávat zdrojáky). A našel jsem. Do dávkového souboru jsem přidal příkaz mode (něco jako mode con cp 1250), kterým nastavuju češtinu na windowsovskou (to by byl jiný způsob, jak se s tím poprat - přizpůsobit příkazový řádek souboru a ne soubor příkazovému řádku). Zobrazuje se sice jako hatmatilka, ale hlavní je, že se domluví.

Jo taky jsem příkaz mode měl spojený s nějakými archaickými časy, ale problém to vyřešilo. (Opravdu si nepamatuju, kdy naposledy jsem příkaz mode předtím použil, býval běžně v autoexecu, ale to je už opravdu mnoho let. Taky jsem jím přesměrovával paralelní port na sériový kvůli tiskárně a programu, který uměl jen lpt, ale to je taky dávná minulost. Ani nevím, jak mě zrovna takové řešení napadlo.)Schválně jsem ten dávkový soubor dohledal

 mode con select=1250
dir /a-d/b/s | convypis.exe 

Convypis měla být (provizorní) konzolová verze programu vypis, spíš taková provizorní náhrada, protože vývoj grafické verze se mi vymknul z ruky (ono dělat cokoliv při studiu vš je skoro nemožné, navíc jako mladý a nezkušený jsem se snažil toho tam naprat co nejvíc bez ladu a skladu). Proto i ten matoucí název, protože program vypis dělal opravdu výpis, ke kterému potom počítal kontrolní součty CRC32, případně je kontroloval, pokud už v minulosti je počítal (a řadu dalších věcí), tohle dělá jen ten výpočet nebo kontrolu souboru zadaného jména. No a toto původně provizorium používám dodnes (zvítězila jednoduchost nad přeplácaností) a vlastně až na problém s češtinou, to funguje. Ten problém jsem předtím řešil mezikrokem (program, který čte ze stdin a posílá na stdout nezměněné to, co neni diakritika, a to co je, tak převede). Pak jsem ten mezikrok, který z nějakého důvodu nešel spustit v 64 bitové verzi windows7, prostě takto nahradil (předtím jsem si dělal výpis dir do souboru a češtinu jsem převáděl v pspadu abych mohl upraveným souborem program nakrmit).

Dá sa, ale neodporúčam commandlinom spracovávať "češtinu".

Už len ten spomenutý dir > seznam.txt spotvori množstvo znakov, nedávno som bol prekvapený keď len takú obyčajnú pomlčku (em dash) skonvertoval na spojovnik/mínusko. Výsledok, file not found. Celý skript som následne prerobil do powershellu. Tam našťastie už žiadna zrada nebola.

Zpět do poradny Odpovědět na původní otázku Nahoru

Build a Mobile Site
View Site in Mobile | Classic
Share by: