Lista winnt@man.lodz.pl
[Lista archiwów] [Inne Listy]

Re: [WINNT] BAT a kodowanie

To: winnt@man.lodz.pl
Subject: Re: [WINNT] BAT a kodowanie
From: "Grzegorz Niemirowski" <grzegorz@grzegorz.net>
Date: Sun, 10 Nov 2024 19:39:49 +0100
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/

<Pop. w Wątku] Aktualny Wątek [Nast. w Wątku>