chcp dostarczy ci aktywną stronę kodową.
systeminfo wyświetli między innymi ustawienia narodowe systemu i dane wejściowe.
„ Uwaga : To polecenie (systeminfo) nie jest dostępne w systemie Windows 2000, ale nadal można wysłać zapytanie do komputera z systemem Windows 2000, uruchamiając to polecenie na komputerze z systemem Windows XP lub Windows 2003 i ustawiając komputer zdalny na komputer z systemem Windows 2000. Jeśli bieżące logowanie użytkownika, które to wykonuje polecenie ma już uprawnienia na zdalnym komputerze (na przykład Administratorzy domeny), nie musisz używać / u i / p. ”
Od tutaj .
Zapomniany średnik
źródło
chcp
dostaniesz aktywną stronę kodową OEM . Jak mklement stwierdza w swojej odpowiedzi, Windows zawsze używa innej aktywnej strony kodowej, strony kodowej ANSI. Aby uzyskać więcej informacji, zobacz odpowiedź mklement .Zauważ, że dany system ma dwie interesujące strony kodowe , określone przez starsze ustawienie o nazwie język dla programów nieobsługujących kodu Unicode , wcześniej znane jako ustawienia regionalne systemu (informacje dodatkowe w dolnej części):
Uwaga: istnieją jeszcze dwie strony kodowe, ale są one już rzadko używane i dlatego nie są tutaj omawiane: kod EBCDIC i strona kodowa Maca (wcześniejsza niż OS X) - patrz dokumentacja WinAPI .
Aktywna strona kodowa OEM jest najłatwiej uzyskać za pośrednictwem
chcp
, jak pokazano na pomocne odpowiedzi zapomniane średnik za - zakładając, że nie został wyraźnie zmieniło się w sesjęchcp <codePageNum>
.Określenie aktywnej strony kodowej ANSI nie jest tak proste, ale PowerShell może pomóc, również w określeniu nazwy i języka ustawień regionalnych systemu:
W Windows 8+ / Windows Server 2012+ : Użyj polecenia
Get-WinSystemLocale
cmdlet:Uwaga: Na przykład może być kuszące
[cultureinfo]::CurrentCulture.TextInfo.ANSICodePage
, ale nie musi to odzwierciedlać ogólnosystemowej aktywnej strony kodowej ANSI; zamiast tego jest to strona kodowa ANSI powiązana z ustawieniami narodowymi bieżącego użytkownika (kultura), które mogą być inne.W systemie amerykańsko-angielskim powyższe wyniki:
OEMCP
to strona kodowa OEM, stronaACP
kodowa ANSI.Metoda rejestru opartego że działa również na starszych systemach dół do systemu Windows XP :
W systemie amerykańsko-angielskim powyższe wyniki:
Jeśli chcesz również uzyskać nazwę [przyjazną] lokalizacji systemu i LCID (pamiętaj, że identyfikatory LCID są przestarzałe):
W systemie amerykańsko-angielskim powyższe wyniki:
Informacje podstawowe :
Ustawienia regionalne systemu to starsza nazwa tego, co obecnie jest bardziej opisowo nazywane językiem dla programów nieobsługujących kodu Unicode (patrz terminologia NLS ) i, jak sugerują nazwy:
To ustawienie dotyczy tylko starszych programów (programów, które nie obsługują Unicode).
Ma zastosowanie w całym systemie , niezależnie od ustawień regionalnych danego użytkownika , a do jego zmiany wymagane są uprawnienia administracyjne.
Ważne jest, aby pamiętać, że jest to spuścizna ustawienie , ponieważ strony kodowe nie stosuje się do programów, które używają Unicode wewnętrznie i wywołać unikodowych wersji Windows API.
W szczególności określa aktywne strony kodowe , tj. Domyślnie stosowane kodowanie znaków :
strona kodowa ANSI używać podczas programów non-Unicode nazywają non-Unicode (ANSI) wersje Windows API, zwłaszcza wersja ANSI z
TextOut
funkcji do tłumaczenia łańcuchów do iz Unicode, która przede wszystkim określa jak struny w ramach programu renderowanie w GUI .strona kodowa OEM , aby domyślnie aktywne w oknach konsoli , co znajduje odzwierciedlenie
chcp
.65001
, która reprezentuje kodowanie UTF-8 w Unicode, jest rozwiązaniem, ale może powodować, że starsze programy wiersza poleceń błędnie interpretują dane, a nawet zawodzą - patrz odpowiedź StackOverflow w celu uzyskania szczegółowych informacji.850
, prowadzonychcp 850
wcmd.exe
oraz$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = [text.encoding]::GetEncoding(850)
w PowerShell.Pomimo ustawienia regionalnego słowa używanego w starszym terminie i języka słowa w bieżącym terminie:
W zaledwie aspekty kontrolowane przez ustawienie to zestaw aktywnych stron kodowych i domyślne czcionki rastrowe , a nie również inne elementy (lokum, które są kontrolowane przez ustawienia regionalne na poziomie użytkownika).
Dana strona kodowa jest zwykle współdzielona przez wiele ustawień regionalnych i obejmuje wiele języków; np. powszechnie używana
1252
strona kodowa jest używana przez wiele języków Europy Zachodniej, w tym angielski.Jednak po zmianie ustawienia za pomocą Panelu sterowania wybierasz ustawienie za pomocą określonych ustawień regionalnych.
Aby uzyskać listę wszystkich stron kodowych systemu Windows, zobacz https://docs.microsoft.com/en-us/windows/desktop/Intl/code-page-identifiers
źródło
GetACP()
funkcja - technet.microsoft.com/en-us/dd318070 - to ciekawe łącze, sekcja uwag wprost mówi, że wartość zwracana przez funkcję NIE reprezentuje domyślnego języka wejściowego użytkownika i języka GUI, ale coś zupełnie innego ...Ustawienia regionalne można również zobaczyć w msinfo32.
źródło
Interfejs API systemu Windows, który zwraca aktywną stronę kodową, to GetConsoleOutputCP () .
źródło
chcp
polecenie konsoli )