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

Poblemas com acentuação

Sempre no comando stdin ao digitar uma palavra com acento por exemplo "vários" a letra com acento será ignorada, então na saída teremos "vrios", já testei todas as dicas dadas nessa aula e nas aulas anteriores e nada resolveu ainda

11 respostas

Oi, Isadora!

Por padrão, o Visual Studio Code utiliza a codificação UTF-8, que é compatível com a maioria dos caracteres, incluindo acentos. Mas, se o arquivo foi criado ou editado em outro editor com uma codificação diferente, pode haver problemas na exibição dos caracteres acentuados.

Peço que verifique a codificação do arquivo com os passos abaixo:

  1. Abra o arquivo no Visual Studio Code.
  2. No canto inferior direito da janela, observe o indicador de codificação (ex: "UTF-8").
  3. Se estiver diferente de UTF-8, clique sobre o nome da codificação e selecione a opção "Reopen with Encoding".
  4. Em seguida, escolha UTF-8 na lista.

Captura de tela do Visual Studio Code com um arquivo Dart aberto. No canto inferior direito, o indicador de codificação está marcado como 'UTF-8'. No topo da janela, o menu de seleção de codificação está aberto, destacando a opção 'Reopen with Encoding' em azul, com um retângulo vermelho em volta.

Após isso, feche e abra novamente o Visual Studio Code para garantir que tudo seja carregado corretamente.

❗ Caso o problema persista, me envie o seu código e print do comportamento inesperado no terminal.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Erro persiste

Oi Isadora!

Certo! Muito obrigada pelo print!

Agora peço que tente configurar aplicativos do Windows para usarem UTF-8 como página de código padrão, seguindo os passos abaixo:

1. Acesse as Configurações do Windows (você pode digitar configurações na aba de pesquisa windows) e clique em Hora e idioma.

2. Clique em Idioma e região

Tela de configurações do Windows 11, na seção “Hora e idioma”. O item “Idioma e região” está destacado com o número 2, e o menu lateral esquerdo mostra o item “Hora e idioma” selecionado com o número 1. A imagem mostra também o horário e data atuais, fuso horário e região configurados.

3. Em seguida, role para baixo e clique em Configurações administrativas de idioma

Tela “Idioma e região” nas configurações do Windows 11. A seção “Configurações relacionadas” está visível, com o item “Configurações administrativas de idioma” destacado com o número 3.

4. Na aba Administrativo, clique em Alterar localidade do sistema…

Janela “Região” com a aba “Administrativo” aberta. A seção “Idioma para programas não-Unicode” exibe a localidade atual como “Português (Brasil)”. O botão “Alterar localidade do sistema...” está destacado com o número 4.

5. Marque a caixa Beta: Usar Unicode UTF-8 para suporte de linguagem mundial

Janela “Configurações de Região” no Windows. Mostra o idioma atual como “Português (Brasil)” e há uma opção marcada com o texto “Beta: Usar Unicode UTF-8 para suporte de linguagem mundial”, indicada por uma seta vermelha.

Finalize reiniciando o computador

Caso o problema persista, fico à disposição!

Boa noite monalisa, eu já havia tentado essa alternativa através do auxilio do chatgpt, mas também não funcionou

Oi, Isadora!

Tente usar esta nova versão do código com o ajuste de encoding:


import 'dart:convert';
import 'dart:io';

void main() {
  print("Olá, me chamo Dart. Qual o seu nome?");
  var entrada = stdin.readLineSync(encoding: utf8);
  print("Muito prazer, $entrada");
}

Fico à disposição. Abraços e bons estudos!

Também não funcionou, to começando a achar que o problema não é o utf-8, mas oq poderia ser kk

Oi, Isadora!

Entendo sua frustração, mas compartilho que, ao lidar com desenvolvimento, às vezes surgem esses obstáculos inesperados e isso faz parte do processo de aprendizado, e encontrar soluções para esses imprevistos também é uma habilidade que vamos desenvolvendo.

Agora peço que tente forçar o terminal integrado do VS Code a trabalhar com codificação UTF-8.

  1. No VSCode, pressione Ctrl + Shift + P (ou F1);

  2. Digite e selecione: Preferences: Open Settings (JSON);

  3. Clique no arquivo Open Default Settings (JSON), adicione a seguinte linha:

    "terminal.integrated.defaultEncoding": "utf8"
    

    Se já houver uma vírgula no final da linha anterior, mantenha. Se for a última linha, não adicione vírgula no fim.

  4. Salve o arquivo (Ctrl + S);

  5. Reinicie o VS Code para garantir que a configuração seja aplicada corretamente.

  6. Feche e abra o terminal integrado (Ctrl + Shift + ou via menu Terminal > Novo Terminal);

Rode o código novamente.

Fico à disposição.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Eu não consigo editar o "Open Default Settings (JSON)"

Isadora, peço que teste o seguinte código:

import "dart:convert";
import "dart:io";

void main() {
  Utf8Codec encoding = Utf8Codec();

  print("Olá! Qual o seu nome?");
  String? nome = stdin.readLineSync(encoding: encoding);

  print("Qual sua idade?");
  String? idade = stdin.readLineSync(encoding: encoding);

  print("Olá $nome, você tem $idade anos.");
}

‼️ Mas atenção, não esqueça de salvar o arquivo antes de executar o dart run. Após inserir o código acima é necessário salvar o arquivo com CTRL + S.

  • Edite o código.
  • Salve-o.
  • Execute com o dart run.

Fico à disposição!

Tive o mesmo problema no Windows e, após diversas tentativas, encontrei uma solução eficiente utilizando o WSL para emular um ambiente Linux dentro do próprio sistema. Instalei o Ubuntu no WSL e, em seguida, configurei o Docker nesse ambiente. No Windows, instalei o Docker Desktop e ativei a integração com o WSL, apontando para a distribuição Ubuntu. Com isso, consegui acessar o Ubuntu diretamente pelo VS Code, via conexão remota com o WSL, e criar um container de desenvolvimento dedicado aos meus estudos com Dart.

Pré-requisitos no VS Code

Instale as seguintes extensões:

  1. WSL
  2. Dev Containers
  • Passo a passo (após acessar o Ubuntu via VS Code):

1. Adicionar o repositório da chave GPG do Dart:

sudo mkdir -p /etc/apt/keyrings curl -fsSL https://dl-ssl.google.com/linux/linux_signing_key.pub | gpg --dearmor | sudo tee /etc/apt/keyrings/dart.gpg > /dev/null

2. Adicionar a fonte do Dart:

echo "deb [signed-by=/etc/apt/keyrings/dart.gpg] https://storage.googleapis.com/download.dartlang.org/linux/debian stable main" | sudo tee /etc/apt/sources.list.d/dart_stable.list > /dev/null

3. Atualizar os repositórios:

sudo apt update

4. Instalar o Dart:

sudo apt install dart -y Criar ambiente de desenvolvimento

5. Criar a pasta de trabalho:

mkdir -p ~/workspace_dart cd ~/workspace_dart

6. Criar o Dockerfile:

nano Dockerfile

7. Conteúdo do Dockerfile:

FROM dart:stable WORKDIR /app COPY . . CMD [ "bash" ]

Salve com Ctrl+O e Enter, depois saia com Ctrl+X.

8. Criar a estrutura do Dev Container:

mkdir .devcontainer nano .devcontainer/devcontainer.json

9. Conteúdo do devcontainer.json:

{ "name": "Dart Workspace", "build": { "dockerfile": "../Dockerfile" }, "settings": { "terminal.integrated.defaultProfile.linux": "bash" }, "postCreateCommand": "dart pub get", "customizations": { "vscode": { "extensions": [ "dart-code.dart-code" ] } } }

10. Criar pasta para os aplicativos de estudo:

mkdir apps cd apps

11. Criar o primeiro projeto:

mkdir app1 cd app1

12. Criar o arquivo pubspec.yaml:

nano pubspec.yaml

13. Conteúdo do pubspec.yaml:

name: app1 description: Estudo inicial de Dart - app1 version: 1.0.0 environment: sdk: '>=3.0.0 <4.0.0'

14. Criar o arquivo Dart:

mkdir bin nano bin/app1.dart

15. Abrir o container no VS Code:

code .

Para novos projetos (app2, app3, ...), repita os passos 11 a 15 diretamente pelo terminal ou dentro do container no VS Code.

solução!

Baixando o Windows Terminal na microsoft store foi possível fazer a acentuação funcionar, mas não é possivel defini-lo como terminal padrão do vscode, portanto acho que vou rodar o código externamente mesmo, quando precisar utilizar a acentuação. Obrigada pela a ajuda Willian, quando eu estiver com mais tempo vou testar dessa forma.