radekp@konto.pl <radekp@konto.pl> napisał(a):
Mam skrypt/program w Windows Batch. W zasadzie dwa podobne.
Jeden jest zakodowany w ASCII (DOS Charset) -- tak zgłasza Lister z Total
Commandera.
Drugi jest w ANSI/Eastern Europe 1250.
W tym pierwszym mogę używać polskich znaków w nazwach plików, w tym
drugim nie. Zapewne z powodu tego kodowania.
Notatnik Windowsa radośnie pokazuje prawidłowe polskie litery w obu
plikach, ale jednak ten drugi skrypt nie daje rady z plikami z
PL-literkami.
1. Jak przekodować ten drugi pliki do ASCII/DOS Charset.
2. Co polecacie jako edytor zamiast PSPada? Po pierwsze nie daje sobie z
tym rady, po drugie konwersja kodowania w nim raczej nie działa. Po
trzecie wyrzuca ostatnio jakieś błędy.
Coś mi się tu nie zgadza. Notatnik (przynajmniej w Windows 10) nie obsługuje
kodowania DOS (w naszym przypadku strony 852) i nie wyświetli poprawnie
polskich liter w tym kodowaniu. Obsługuje tylko windowsowe strony kodowe (w
naszym przypadku 1250) oraz Unicode z kodowaniami UTF.
Napisałeś w drugim poście, że używasz chcp. Ale w którym skrypcie? Pierwszym
czy drugim? Strony kodowe wiersza polecenia i skryptu muszą być zgodne, więc
za pomocą chcp trzeba wskazać stronę użytą do zakodowania pliku.
Odnośnie pytań 1 i 2, to podobnie jak Draco polecę Notepad++. Używam też
PSPad (głównie ze względu na edytor szesnastkowy) i potwierdzam jego dziwne
zachowania o których wspomniałeś. Jednak zastanowiłbym się czy na pewno iść
w archaiczą DOS-ową stronę kodową i kodować w tę stronę. Może jednach niech
te skrypty będą w 1250? Albo pójść za ciosem i wybrać coś współczesnego,
czyli UTF-8 (chcp 65001).
--
Grzegorz Niemirowski
https://www.grzegorz.net/
|