Sun, 10 Nov 2024 19:39:49 +0100, w <vgqulm$pe2$1@news.chmurka.net>, "Grzegorz
Niemirowski" <grzegorz@grzegorz.net> napisał(-a):
> 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.
Nie będę się sprzeczał, bo zapewne masz rację.
Na poglądzie hex widzę, że ł to $B3.
> Napisałeś w drugim poście, że używasz chcp. Ale w którym skrypcie? Pierwszym
> czy drugim?
W obu.
> Strony kodowe wiersza polecenia i skryptu muszą być zgodne, więc
> za pomocą chcp trzeba wskazać stronę użytą do zakodowania pliku.
Piszę chcp 1250 na początku skryptu i wówczas nie mam problemu z PL-literkami w
nazwach plików. Wyświetlają się poprawnie itp.
> Odnośnie pytań 1 i 2, to podobnie jak Draco polecę Notepad++. Używam też
Też sobie o nim przypomniałem. Ściągnąłem i wykonał swoją robotę -- odczytał
plik, pokazał jakieś dziwne znaczki w miejscu PL-literek, wpisałem poprawne,
save. Działa.
> w archaiczą DOS-ową stronę kodową i kodować w tę stronę. Może jednach niech
> te skrypty będą w 1250?
Najwyraźniej skrypt był jednak w 1250, tylko Lister tak rozpoznał. Ale i przy
zmianie z DOS Charset na Windowsa charset nadal widzę PL-literki poprawnie,
przynajmniej "ł" i "ś".
> Albo pójść za ciosem i wybrać coś współczesnego,
> czyli UTF-8 (chcp 65001).
Chętnie, o ile skrypt nadal będzie poprawnie widział PL-literki w nazwach
plików.
|