Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

-PhiL-

Erro com META UTF e ISO

Recommended Posts

E ai galera. prazer meu nome é Philippe Vanzin.

Bom estou aprendendo HTML e CSS. E estou adaptando um template a um site de games.

Bom. Percebi que com essa configuração:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Os caracteres especiais da página bugam. Ficam assim:

��

 

Logo tentei usar o iso:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

Ele corrigiu perfeitamente os erros de caracteres especiais. Porém ele insere umas letras estranhas que bugam minhas div's, tipo tira ela dos lugares certos.

Aparece isso:

»¿

e o site fica assim:

sbhw9l.jpg

 

Alguém poderia me ajudar a tentar sanar esses 2 problemas ao mesmo tempo sem causar "danos" a estrutura.

Ja testei utf 16 e 32 e não funcionou ;/

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

De acordo com sua descrição, é um erro causado por causa do BOM. Ao salvar seus arquivos em UTF-8, verifique se um checkbox chamado BOM está marcado (no Dreamweaver, por exemplo, ele fica nas propriedades da página - Ctrl + J > Título/Codificação):

bom-dreamweaver.png

Desmarque o checkbox conforme mostrado na imagem.

 

:joia:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi... :mellow: Como está o checkbox agora? Tem que estar desmarcado, a codificação tem que estar como UTF-8 e a normalização pode estar marcada como "C (Canonical Decomposition ...)" ou estar como "Nenhum(a)"... Ah! E coloque a meta-tag também como UTF-8... E se estiver utilizando includes, esse procedimento deve ser repetido em todos o arquivos, exceto a inclusão da meta tag (que só deve ser feita na página-pai que chama os includes).

 

 

:joia:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta assim:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>{#TITLE_SITE}</title>
<link href="templates/dragon/_css/style.css" rel="stylesheet" type="text/css">
<?php require_once("templates/dragon/settings.php");?>
<script type="text/javascript" src="templates/dragon/_media/_js/ajax.js"></script>
</head>

como ficaria?

Mas utf-8 vai desbugar os acentos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Experimente substituir todos os caracteres acentuados por suas respectivas entidades HTML.

 

Quando usava o DW, anos e anos atrás (felizmente), fazia isso de tanto que dava dor de cabeça esse problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Onde ta dando erro. é um sistema em php também. não tem como eu alterar porque quem adiciona é o cliente ;X

Usa qual editor de php?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Experimente substituir todos os caracteres acentuados por suas respectivas entidades HTML.

Mas aí que está, ao se usar UTF-8 não é necessário converter todos os caracteres especiais para suas respectivas entidades HTML, é só saber usar... :closedeyes:

 

 

-PhiL-, mais uma vez pergunto-lhe: seus includes já estão salvos como UTF-8 (sem BOM)?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso lá é verdade, mas daí vem aquela de que, por exemplo, XHTML Strict parece não reconhecer os caracteres acentuados, gerando um código inválido. E ver o HTML Tidy do Firefox com um X vermelho me irrita.

 

Mas não vou mais desvirtuar o tópico, vamos aguardar a resposta do Phil.

Compartilhar este post


Link para o post
Compartilhar em outros sites

XHTML Strict parece não reconhecer os caracteres acentuados, gerando um código inválido.

Não, não, não, Bruno Augusto... O Doctype não influencia na questão da codificação. Tudo bem, existem caracteres que precisam sim ser codificados com suas respectivas entidades HTML, mas isso é sabido, que são o caso do "e comercial" ( & ) e das aspas duplas (principalmente quando aplicadas em algum atributo de tag, como title, alt, etc.), e logicamente quando você quiser usar os sinais "maior que" (>) e "menor que" (<) em forma de texto. O principal deles é o &, esse sim precisa obrigatoriamente estar codificado, mas, por exemplo, no PHP, basta usar a função htmlspecialchars( ).

 

:joia:

Compartilhar este post


Link para o post
Compartilhar em outros sites

TIpo. Não tenho includes. 1 require_once que tenho é sómente de configuração pra definir umas variáveis. Nesse precisa também? nele só contem código PHP.

 

Porém no sistema de template desse site. Possui a: div[login].tpl e a div[logout].tp. elas são chamadas para o local do login para realizar o mesmo.

Eu me baseio em outros templates ja feitos para esse site e os mesmos se encontram em ISO, e nessas outras páginas que só possui a div de login não tem configuração de caracteres.

posso colocar pra baixar aqui o template? pra vocês olharem. Fica melhor pra entender. Porém o site é com licença e não da pra colocar on ;/

 

o Problema é que com UTF-8 não corrige os caracteres. Somente com o iso-8859-1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poisé. Mas nos outros 5 templates. São salvos em iso-8859-1, ja verifiquei isso. E nesses 2 arquivos que eu citei. Não tem nenhuma configuração de caracteres ;/

Compartilhar este post


Link para o post
Compartilhar em outros sites

-PhiL-, não tem jeito... Todos os arquivos envolvidos precisam ser salvos como UTF-8... Para isso, abra todos eles em um software de edição, como o Dreamweaver, o Notepad++, etc., e salve os arquivos alterando sua codificação. Se for no Dreamweaver, a tela é aquela mostrada anteriormente, não se esquecendo de remover o tal do BOM...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para trabalhar com charsets, a maneira mais rápida e eficiente são blocos de notas inteligentes. Recomendo o Notepad++ e utilize a função de 'converter' as páginas de códigos.

 

Na conexão com o banco, se for MySQL, execute a consulta abaixo logo depois da conexão:

 

SET NAMES utf8

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.