1
resposta

O textos com acento estão saindo com a codificação incorreta no terminal

Boa noite, os acentos não aparecem nem clicando em Run Python file

1 resposta

Olá, Ricardo. Como vai?

Esse problema com caracteres acentuados (como "ç", "ã", "é") é muito comum no início dos estudos com Python, especialmente no ambiente Windows. Isso acontece por conta de uma incompatibilidade entre a codificação padrão do arquivo do Python (que usa o padrão global chamado UTF-8) e a codificação que o terminal do seu sistema operacional está utilizando para exibir os textos (que no Windows geralmente é o padrão CP1252 ou Windows-1152).

Quando o terminal tenta ler o UTF-8 usando a regra antiga do Windows, os acentos viram caracteres estranhos ou simplesmente não aparecem.

Para resolver isso de forma definitiva no seu VS Code, você pode seguir dois caminhos bem simples:


Solução 1: Forçar o Python a rodar em UTF-8 (Recomendado)

Você pode criar uma variável de ambiente temporária diretamente no terminal para avisar ao Python que ele deve ignorar a codificação do sistema e usar o UTF-8 por padrão.

No terminal do seu VS Code, antes de rodar o comando do Python, digite o seguinte comando e aperte Enter:

  • Se o seu terminal padrão for o PowerShell (o padrão do VS Code):
$env:PYTHONUTF8=1
  • Se o seu terminal padrão for o Prompt de Comando (CMD):
set PYTHONUTF8=1

Depois de executar esse comando, tente rodar o seu arquivo novamente usando o botão "Run Python File". Os acentos deverão aparecer perfeitamente.


Solução 2: Alterar a codificação do terminal do Windows (chcp)

Outra alternativa rápida é alterar a página de código (Code Page) do terminal do Windows diretamente para o padrão UTF-8 (cujo código identificador é o 65001).

Abra o terminal do seu VS Code e digite o comando abaixo antes de executar o script:

chcp 65001

Você verá uma mensagem dizendo "Página de código ativa: 65001". Isso significa que o seu terminal agora está pronto para ler qualquer caractere ou acento vindo do Python sem quebrar.

Dica de ouro para o código

Se você quiser garantir que o seu próprio arquivo Python force o terminal a abrir em UTF-8 sem precisar digitar comandos antes, você pode adicionar este pequeno bloco de código bem no topo (na primeira linha) do seu script:

import sys
import io

sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')

# Seu código abaixo funcionará com acentos:
print("Olá, mundo! Programação em Python com acentuação.")

Faça o teste com a Solução 1 ou 2 no seu terminal e veja qual se adapta melhor ao seu ambiente de desenvolvimento!

Espero que possa ter lhe ajudado!