Translate

sexta-feira, 27 de setembro de 2013

WARNING: Console code page (850) differs from Windows code page (1252) 8-bit characters might not work correctly.


O psql usa uma codificação diferente do Windows. Para que a mensagem, exibida na imagem abaixo, não seja apresentada na inicialização do postgre, você deve alterar a codificação antes de executar o comando psql.




Há duas alternativas para corrigir este problema:

1ª alternativa temporária: basicamente devemos abrir o console, digitar " cmd.exe /c chcp 1252 " e alterar a fonte do prompt de comando para "Lucida Console". Essa solução é temporária, pois toda vez que  o console for aberto, esse procedimento deve ser executado novamente.
Neste post esse procedimento será explicado com maiores detalhes.

2ª alternativa definitiva: basicamente devemos alterar o arquivo runpsql.bat e adicionar a linha 
chcp 1252

Antes do comentário:
REM Run psql

Esse procedimento é definitivo, ou seja, o procedimento é feito uma vez só, e ao abrir o prompt não será necessário fazer nenhuma configuração adicional.



1ª alternativa - temporária


1º passo) Saia do postgre. Para sair do postgre digite \q



2º passo) Para alterar a codificação digite cmd.exe /c chcp 1252 

O Windows-1252 ou o CP-1252 é uma codificação de caracteres de 1 byte do alfabeto latino, usada por padrão nos componentes legados do Microsoft Windows em inglês e algumas outras línguas ocidentais.



3º passo) Altere a fonte para "Lucida Console", pois a fonte "Fontes de varredura" não funciona com o código ANSI. Para alterar a fonte, selecione o menu, no canto superior esquerdo, e escolha o item "Propridades", conforme exibido na figura abaixo:
.

4º passo) Em "Propriedades do Prompt de Comando", escolha a guia "Fonte". Selecione a fonte "Lucida Console" e clique em "OK", conforme exibido na figura abaixo.



O erro não será mais exibido para o prompt que está aberto. Porém alteração da codificação deverá ser feita toda vez que você abrir um novo prompt de comando antes de usar o comando psql.






2ª alternativa - definitiva

1º passo) Localize o diretório do arquivo "runpsql.bat". No meu caso, o diretório é: "C:\Program Files\PostgreSQL\9.6\scripts" Inclua este diretório  na variável "path" do windows.

Procedimento para incluir a variável de ambiente no Windows 10:

a) Acesse o painel de controle;

b)  No "Painel de Controle" selecione a opção "Sistema e Segurança". Veja a imagem abaixo:

c) Selecione a opção "Sistema". Veja a imagem abaixo:


d) Em seguida, selecione a opção "Configuração avançadas do sistema". Veja a imagem abaixo:


e) Na janela "Propriedades do Sistema" escolha a aba "Avançado" e selecione o botão "Variáveis de Ambiente". Veja a imagem abaixo:



f)  Após exibir a janela de "Variáveis de Ambiente". Escolha a variável de sistema chamada "Path" e selecione o botão "Editar". Veja a imagem abaixo:



g) Será aberta a janela "Editar variável de ambiente". Selecione o botão novo. Veja a imagem abaixo:


h) Repare que será criado um campo de texto na parte inferior da tela. Veja a imagem abaixo:



i)  Acrescente o diretório "scripts" da instalação do  PostgreSql, no meu caso é "C:\Program Files\PostgreSQL\9.6\scripts" Após acrescentar o caminho,  selecione o botão "ok", conforme imagem abaixo:



j) Na tela "Variáveis de Ambiente" clique em "ok". Veja a imagem abaixo:



k)  Na tela "Propriedades do Sistema" clique em "ok". Veja a imagem abaixo:



2º passo) Execute como administrador o "Bloco de Notas" (notepad).




3º) Abra o arquivo "runpsql.bat" no "Bloco de Notas" (notepad). No meu caso, o arquivo está localizado no diretório é: "C:\Program Files\PostgreSQL\9.6\scripts".





4º passo) Altere o arquivo runpsql.bat e adicione a linha 
chcp 1252

Antes do comentário:
REM Run psql
Veja a imagem abaixo:



5º passo) Salve o arquivo.

6º passo) Abra um novo prompt de comando e execute
runpsql




7º passo) Agora é só se autenticar no banco de dados. Veja imagem abaixo:



Veja que o alerta não será mais exibido.