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

Re: [WINNT] notepad - nowy plik ASCII

To: winnt@man.lodz.pl
Subject: Re: [WINNT] notepad - nowy plik ASCII
From: Adam Lubszczyk <adam_l@poczta.onet.pl>
Date: Fri, 18 Feb 2022 00:33:59 -0800 (PST)
wtorek, 15 lutego 2022 o 09:12:45 UTC+1 Grzegorz Niemirowski napisał(a):
> 
> Tak czy siak w Twoim przypadku nie ma rozwiązania. Historycznie pliki .txt 
> nie miały nigdzie zapisanego kodowania. Gdy wprowadzono UTF-8 wymyślono 
> dodawanie odpowiedniego nagłówka, tzw. BOM. Jest on opcjonalny. Stąd 
> zapisując plik w Notatniku możesz wybrać m.in. UTF-8 oraz UTF-8 z BOM. I 
> teraz najważniejsze. Jeśli mamy pusty plik txt o rozmiarze 0 bajtów, czyli 
> bez BOM, to nie da się określić jakie on ma kodowanie. Nie ma po czym 
> zgadnąć. Trzeba jakieś przyjąć z góry. I Notatnik przyjmuje UTF-8. Mógłby 
> przyjmować ANSI, ale nie da się tego wymusić. Jak chcesz mieć domyślne ANSI, 
> to zmień program. W Notatniku się nie da. 
> 

Da się.
notepad.exe   ma opcje  /A (ansi)  oraz /W (unicode UTF16)

Trzeba zmienić reakcję open dla pliku tekstowego.
Domyślną wartość w kluczu: HKEY_CLASSES_ROOT\txtfile\shell\open\command
z       %SystemRoot%\system32\NOTEPAD.EXE %1
na   %SystemRoot%\system32\NOTEPAD.EXE /A %1

Niestety notatnik przestaje wykrywać kodowanie pliku i zawsze używa ANSI

Może lepiej dodać sobie opcję otwierania w ANSI pod prawy klawisz.
Najprościej (bo potrzeba wartość typu REG_EXPAND_SZ)
zapisać klucz HKEY_CLASSES_ROOT\txtfile\shell\open\commanddo pliku reg .
Wyedytować plik zmieniając   ...\shell\open\command     na  np.  
...shell\OtworzANSI\command 
Wczytać  poprawiony plik reg i w REGEDIT  poprawić wartość domyślną dodając 
opcję /A

Adam

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