Solucionado (ver solução)
Solucionado
(ver solução)
16
respostas

Acentuação no git log -p

ao digitar git log -p para visualizar o histórico, as linhas alteradas do arquivo index.html aparecem com uma marcação <E7><E3> no lugar de "çã" de "integração" e <ED> no lugar de "í"de "contínua". Há alguma configuração de acentuação do Git? Como resolver?

16 respostas

Olá Rodrigo, tudo bem? Primeiramente qual o terminal você está utilizando? É o próprio CMD do Windows é isso? Se for, então recomendo você utilizar o Git Bash, e sobre esse problema, mesmo estando no Windows o Git precisa de algumas variáveis de ambiente do Linux, então para isso você tentar executar o seguinte comando no terminal:

set LC_ALL=C.UTF-8

Esse comando vai setar a linguagem com codificação do sistema como "UTF-8", que é a codificação padrão, que pode não ter sido aplicada por algum motivo. Depois você pode executar novamente o git log. Se não funcionar, informa aqui pra gente poder analisar e verificar outras alternativas!

Jonilson, estou utilizando o Git Bash no Windows 10. Tentei o comando, mas não surtiu efeito.

Rodrigo, você pode executar esse comando no Git Bash:

git config --global i18n.logOutputEncoding utf-8

E depois executar o git log novamente, o comando acima é pra definir qual a codificação de saída do git log. Informa pra gente se funcionou!

Infelizmente o problema persiste.

Olá Rodrigo tenta esses comandos:

git config [--global] core.quotepath off
git config [--global] i18n.logoutputencoding utf8
git config [--global] i18n.commitencoding utf8
git config [--global] --unset svn.pathnameencoding

se for algo pontual pode usar:

git commit -m "UTF-8 conversion"

Obrigado pela ajuda, mas também não funcionou.

Olá Rodrigo, isso acontece no Terminal Git Bash? Pode verificar que isso acontece no terminal nativo do Windows o Prompt de Comando (CMD), já no no Git Bash está normal, pode informar isso pra gente!

Bom dia Jonilson. Tentei usar no Prompt do Windows tb (CMD) e não deu certo. No Git Bash tb dá erro.

Rodrigo, você poderia tirar uns prints dos erros e colocar no Google Drive e compartilhar o link aqui pra gente poder acessar e verificar corretamente esse problema!

Jonilson, segue o link da tela quando dou o comando git log -p. https://drive.google.com/drive/folders/1uE3yjL4QIAGkU9orFFhwMuF4BbMjso8a?usp=sharing

Muito estranho mesmo, mas estou muito empanhado em conseguir descobrir o porque isso está acontecendo, então você poderia executar o seguinte comando no terminal do Windows, no CMD mesmo:

chcp 65001

E depois executar o comando git log -p. Se ainda estiver do mesmo jeito, execute o comando:

chcp 1252

E tente executar o comando git log -p novamente. Se um dois dois tiver funcionado corretamente, então você pode tentar executar o comand no Git Bash, porém nele é necessário usar o comando da seguinte forma:

chcp.com 65001

Fala pra gente o resultado!

Infelizmente não surtiu efeito. Interessante notar que o nome do Autor "Pavão" aparece com ~ no GIT Bash e em código <C3><A3>no CMD. Acho que vou reinstalar o Git Bash e fazer td desde o início pra ver se resolve. Depois eu posto se funcionou.

Realmente é bastante estranho, porque no caso não deveria mostra nenhuma acentuação. Mas vamos continuar tentando outras alternativas, a primeira é você executar os passos:

  • Execute o seguinte comando no terminal (CMD):

    setx LC_ALL C.UTF-8
  • Depois execute o comando no terminal (CMD) ou no Git Bash:

    git config --global i18n.logOutputEncoding utf-8
  • Agora você deve abrir o Git Bash (se não tiver aberto) Clicar com o botão direito do mouse em qualquer lugar no Git Bash e depois clicar no item Options...: Abrir Options

  • Depois ir no menu Text e alterar o Locale para pt_BR e também o Character set para UTF-8 e por fim clicar no botão Save: Alterar Locale e Character set

  • Depois você pode executar o comando git log -p, se ainda persistir o erro, feche todos os terminais e abra novamente e execute o comando de novo.

E fala pra gente qual foi o resultado!

Infelizmente não funcionou.

solução!

Rodrigo, você pode executar o comando abaixo (execute dentro da pasta do projeto) e falar pra gente qual foi o resultado:

locale

Execute também o comando:

git config i18n.commitEncoding

E fala pra gente qual foi o resultado dele também. E por fim, você poderia executar o comando:

git log -p --encoding=UTF-8

E falar qual foi o resultado.

Porque o que me passa agora é que os commits antigos ficam com a codificação que foram criados anteriormente permanecem com a codificação antiga, já que a mesma é determinada no momento da criação do commit. Então você poderia criar um commit qualquer e tentar executar o comando git log -p novamente.

Jonilson, vc não vai acreditar. O problema era o editor que estava usando para alterar o arquivo html. Ele estava com outra codificação. Daí nunca que iria aparecer os acentos. Depois que alterei para UTF-8 e corrigi a acentuação, a correção apareceu de boa próximos commits. Muito obrigado, e desculpe pela dor de cabeça. Pelo menos aprendemos novos códigos para alterar codificação do terminal.