O chcp vai te dar a página de código ativa.
systeminfo exibirá a localidade do sistema e a localidade de entrada, entre outras coisas.
" Nota : Este comando (informações do sistema) não está disponível no Windows 2000, mas você ainda pode consultar o computador com o Windows 2000 executando este comando no computador com Windows XP ou Windows 2003 e configurar o computador remoto para o computador com o Windows 2000. Se o usuário atual efetuar logon neste O comando já possui privilégios na máquina remota (por exemplo, Administradores de Domínio), você não precisa usar / u e / p. "
A partir daqui .
Ponto e vírgula esquecido
fonte
chcp
você receberá a página de código OEM ativa . Como mklement afirma em sua resposta, sempre há outra página de código ativa em uso pelo Windows, a página de código ANSI. Para mais informações, consulte a resposta de mklement .Observe que um determinado sistema possui duas páginas de códigos ativas de interesse , conforme determinado pela configuração herdada denominada language para programas não-Unicode , anteriormente conhecida como localidade do sistema (consulte a seção inferior para obter informações detalhadas):
Nota: Existem mais duas páginas de código, mas elas raramente são mais usadas e, portanto, não são discutidas aqui: o código EBCDIC e a página de código Mac (anterior ao OS X) - consulte os documentos do WinAPI .
A página de código OEM ativa é mais facilmente obtida via
chcp
, conforme mostrado na resposta útil do Forgotten Semicolon - assumindo que não foi explicitamente alterada na sessão comchcp <codePageNum>
.Determinar a página de código ANSI ativa não é tão simples, mas o PowerShell pode ajudar, também na determinação do nome e idioma do código do idioma do sistema:
No Windows 8+ / Windows Server 2012+ : Use o
Get-WinSystemLocale
cmdlet:Nota: Pode ser tentador usar
[cultureinfo]::CurrentCulture.TextInfo.ANSICodePage
, por exemplo, mas isso não reflete necessariamente a página de código ANSI ativa em todo o sistema ; em vez disso, é a página de código ANSI associada à localidade (cultura) do usuário atual , que pode ser diferente.Em um sistema inglês dos EUA, o acima gera:
OEMCP
é a página de código OEM,ACP
a página de código ANSI.Um método baseado em registro que também funciona em sistemas mais antigos até o Windows XP :
Em um sistema inglês dos EUA, o acima gera:
Se você também deseja obter o nome [amigável] e o LCID da localidade do sistema (observe que os LCIDs estão obsoletos):
Em um sistema inglês dos EUA, o acima gera:
Informações básicas :
Código do idioma do sistema é o nome legado para o que agora é chamado de forma mais descritiva de linguagem para programas não Unicode (consulte a terminologia do NLS ) e, como os nomes sugerem:
A configuração se aplica apenas a programas herdados (programas que não oferecem suporte a Unicode).
Aplica - se a todo o sistema , independentemente das configurações de localidade de um determinado usuário , e são necessários privilégios administrativos para alterá-lo.
É importante observar que essa é uma configuração herdada , porque as páginas de código não se aplicam mais a programas que usam Unicode internamente e chamam as versões Unicode da API do Windows.
Notavelmente, ele determina as páginas de código ativas , ou seja, a codificação de caracteres usada por padrão :
a página de código ANSI a ser usada quando programas não-Unicode chamam as versões não-Unicode (ANSI) da API do Windows, principalmente a versão ANSI da
TextOut
função para converter seqüências de caracteres de e para Unicode, que determina notavelmente como as seqüências de caracteres do programa são processadas no GUI .a página de código OEM para ativar por padrão nas janelas do console , conforme refletido em
chcp
.65001
, que representa a codificação UTF-8 do Unicode, é uma solução, mas que pode fazer com que os programas de linha de comando herdados interpretem mal os dados e até falhem - consulte esta resposta do StackOverflow para obter detalhes.850
, executadochcp 850
emcmd.exe
, e$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = [text.encoding]::GetEncoding(850)
em PowerShell.Apesar da palavra localidade usada no termo herdado e da palavra idioma no termo atual:
Os únicos aspectos controlados pela configuração são o conjunto de páginas de códigos ativas e as fontes de bitmap padrão , não também outros elementos de um código de idioma (que são controlados pelas configurações de código de idioma no nível do usuário).
Uma determinada página de código é normalmente compartilhada por muitos códigos de idioma e abrange vários idiomas; por exemplo, a página de código amplamente usada
1252
é usada por muitos idiomas da Europa Ocidental, incluindo o inglês.No entanto, quando você altera a configuração pelo Painel de Controle, escolhe a configuração por meio de um código de idioma específico.
Para obter uma lista de todas as páginas de código do Windows, consulte https://docs.microsoft.com/en-us/windows/desktop/Intl/code-page-identifiers
fonte
GetACP()
função - technet.microsoft.com/en-us/dd318070 - que é um link interessante, a seção de comentários diz que esse valor de retorno da função NÃO representa o idioma de entrada padrão selecionado e a linguagem GUI do usuário, mas algo completamente diferente ...O código do idioma também pode ser visto no msinfo32.
fonte
A API do Windows que retorna a página de código ativa é GetConsoleOutputCP () .
fonte
chcp
comando do console )