Ir para conteúdo

POWERED BY:

Arquivado

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

Web 1

Acentos

Recommended Posts

Olá pessoal tenho páginas inteiras em ASP.

Uso

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

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

 

Ja tentei usar o

 

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

 

Mas tbm não funciona corretaente os acentos, principalmente em formulários.

 

O que esta errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua página possui includes? se sim elas estão codificadas com o mesmo charset?

 

Outra coisa que muitod esquecem e de codificar o arquivo, as vezes em alguns editoress eles criam o arquivo em ANSI... dai você coloca o charset no código como utf ou iso e ocorre este problema.

 

Eu utilizo o IDE Notepad++ e faço assim...

 

Abro o arquivo .asp, .js, .css...

 

Depois vou em formatar na barra no topo....

 

E seleciono... "Converter para UTF-8", depois salvo o arquivo e verifico se o charset do código esta como utf-8.

 

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

 

Repito esse processo em todos os arquivos, para uma melhor organização sempre quando ocorre este problema comigo... eu começo pela página que ocorreu o problema... se depois disso continuar... eu passo para os includes que estão nessa página... e por ai vai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

para ISO-8859-1, coloque assim:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"
Response.Charset="ISO-8859-1" %>

 

 

e para UTF-8

 

Mudar o head da página que solicita os dados para que ele fique assim

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

 

Na página que responde os dados colocar isso antes do retorno co conteúdo (logo no topo):

<%
Response.AddHeader "Content-Type", "text/html; charset=utf-8"
Response.AddHeader "Pragma", "no-cache"
response.Charset="utf-8"
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz isso no meu topo

 

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

<%Response.AddHeader "Content-Type", "text/html; charset=utf-8"Response.AddHeader "Pragma", "no-cache"response.Charset="utf-8"%>

 

E esta resultando com esse erro

 

 

 

Erro de compilação do Microsoft VBScript

 

erro '800a0401'

 

Fim da instrução esperado

 

/site.com/default.asp, linha 9

Response.AddHeader "Content-Type" "text/html; charset=utf-8"Response.AddHeader "Pragma" "no-cache"response.Charset="utf-8"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é necessário fazer isso tudo, siga o que eu te passei, é a maneira correta de te fazer, estão te informando errado.

 

Não adianta ficar tentando colocar trocentos codes para codificar o code... se o arquivo do code não esta codificado... primeiramente codifique o arquivo e depois basta da um charset no code com a mesma codificação utilizada para codificar o arquivo... e pronto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na página que responde os dados

 

<%
Response.AddHeader "Content-Type", "text/html; charset=utf-8"
Response.AddHeader "Pragma", "no-cache"
response.Charset="utf-8"
%>

mas não tudo junto

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra que o

 

Response.AddHeader "Pragma", "no-cache"

 

Pelo que eu saiba o usuário ta com problema em codificação e não no cache...

 

Além disso você acha que faz sentido especificar utf-8 no Content-Type e no Charset do asp... depois adicionar novamente no meta Content-Type do html? não acha que é demais? 3 para uma coisa simples que só bastaria de 1.

 

Acho que não se deve passar as coisas jogadas ao usuário, e o mais importante... errado, pois esta forma é a mais absurda possível que eu já vi... 3 especificações utf-8 na mesma page, coisa de loco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por exemplo, você criou uma pagina que contem informações sobre menu que vem de um banco de dados (menu.asp), e a chama na index.asp via include.

Em caso afirmativo, verifique se as paginas chamadas via include também tem o mesmo charset.

 

Uma coisa que faço normalmente em algumas paginas, é além do charset indicado acima, coloco também a Session.LCID=1046 que é o codepage do Pt-br

 

E note que:

<%Response.AddHeader "Content-Type", "text/html; charset=utf-8"Response.AddHeader "Pragma", "no-cache"response.Charset="utf-8"%>

 

Está errado, pois não tem quebras de linha.

O correto seria:

<%Response.AddHeader "Content-Type", "text/html; charset=utf-8"
Response.AddHeader "Pragma", "no-cache"
response.Charset="utf-8"%>

 

O primeiro e o ultimo definem o charset da pagina, o AddHeader define se ficará ou não na cache do browser e não é necessário no seu caso.

Mas é uma garantia que cada vez que visitem o site novamente, as alterações sejam vistas e não uma copia que estava no cache.

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.