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
|