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

Acentuação no HTML

Boa noite. Estou acompanhando o curso e desenvolvendo um projeto paralelo, usando django e python, a fim de exercitar os conhecimentos adquiridos na aula. No projeto que criei, coloquei acentuação no meu arquivo index.html e o servidor não exibe a página que contém acento, dá erro de decodificação: UnicodeDecodeError at / 'utf-8' codec can't decode byte 0xe3 in position 157: invalid continuation byte Quando eu tiro o 'til' da palavra ou coloco &atilde ele roda normalmente. Por que isso ocorre? (Minha página html tem a tag

no head, meu arquivo views.py tem a marcação

# -- coding: UTF-8 --)

4 respostas

Não deu para ler sua resposta, você não usou a formatação de código. Dá uma lida em dicas de formatação para ver como proceder.

Aliás, qual é sua plataforma? Windows, MAC Linux?

Acredito que você seja novo aluno no Alura, daí vai a dica: use a formatação de texto especial quando postar código e diga também qual sua plataforma para que outras pessoas possam te ajudar ainda melhor.

Boa tarde. Estou usando Windows. Não postei nenhum código, só disse que a primeira linha do meu arquivo view.py contém a # -- coding: UTF-8 --", que, pelo que entendi, serve para dizer ao interpretador do python como interpretar acentos e caracteres especiais.

solução!

Olá, você colocou tag's HTML na sua resposta, veja que elas não são exibidas quando eu leio. Isso porque o interpretador do Alura entende que são tag's HTML mesmo e tenta processá-las, por isso você precisa usar a formatação de código.

O problema que você esta tendo envolve um monte de coisa, principalmente da sua infraestrutura de desenvolvimento.

A primeira coisa que você precisa verificar é que se o seu usuário do Windows tiver espaço no nome sua aplicação Django não funcionará. Acho que não é o seu caso.

Em segundo lugar, você precisa ver qual editor você esta usando e verificar se o arquivo salvo esta no formato UTF-8! Não adianta você colocar a tag <meta charsert="UTF-8"> se o seu arquivo foi salvo em outro encoding.

A tag meta serve para dar uma pista para o navegador como ele deve interpretar seu código.

Algo parecido acontece com o Python. Só que neles, você usa o comentário especial # -*- coding: utf-8 -*-.

O problema é que se o seu arquivo estiver em outro encoding diferente disso, você terá problemas.

Infelizmente muita ferramenta e a própria plataforma Windows não grava em UTF-8, grava em Latin1 e ISO alguma coisa que não me lembro.

A boa notícia é que a Microsoft se rendeu e adotará na próxima atualização do Windows o terminal do Linux, o bash, ou seja, o Windows terá dentro dele todo filesystem do Linux para resolver zilhões de problemas que acometem desenvolvedores dessa plataforma, inclusive esse aí de encoding.

No entanto, enquanto essa atualização não sai, sugiro que você baixe o NotePad++ e abra seus arquivos nele e verifique o encoding por ele se realmente está UTF-8.

Se o notepad++ indicar que esta tudo OK, a última fronteira é você ter digitado sem querer algum caracterer que não faz parte do UTF-8 e o Djang estar reclamando. Nesse caso, sugiro refazer do zero a página ou código que ele está reclamando para garantir que está tudo certo.

Aguardo seu feedback dos pontos que citei.

Ah sim, esqueci das tags :p perdão. Mas estava verificando aqui e é realmente esse o problema. Aparentemente meu editor está salvando os arquivos em ANSI (acho que isso mesmo). Obrigado!!