Ir para conteúdo

Arquivado

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

Mario Juruna

Codificação UFT-8 e CODEPAGE="1252"

Recommended Posts

Boa tarde todos.

Tenho um site que estava no Windows XP e SQL server 2000.
Estou passando ele para Windows 7 e Sql Server 2008 enterprise.

Estou tendo um problema de codificação.

Em algumas páginas está sendo exibido esse erro:

Active Server Pages erro 'ASP 0245'

Uso misturado de valores de Página de Código

/imprime.asp, linha 1

O valor @CODEPAGE especificado é diferente do valor CODEPAGE do arquivo de inclusão ou do formato do arquivo salvo.


No início da página:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

 


E também na página uso esse código:

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

 



Sei que são duas codificações diferentes, mas antes aceitava, com o formato do arquivo salvo como UTF-8 +BOM

Se eu salvo como ANSI "aceita" as duas mas funciona uma parte, a parte da página mas o conteúdo que vem do banco de dados vem todo ferrado,
se eu tiro <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> o texto do site é que fica todo ferrado.

Já tentei colocar todos os códigos: 1251, 1254, 65000, <%response.Charset = "iso-8859-1"%>
<%session.lcid = 1046%>, tentei salvar em vários formatos mas sempre ficar um dos dois errados ou o que está escrito no site ou o que vem do banco de dados.

O conteúdo do que vem das tabelas não tenho como alterar, até mesmo porque é preenchido pelos usuários, e são contratos, vários, e bem extensos, e vai dar um trabalhão para alterar manualmente acento por acento.

Se alguem ja passou por isso e tem alguma solução para que possa aceitar as duas codificações desde ja agradeço pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente 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"
%>

 

Isso é causado por salvar o arquivo como arquivo unicode. Salve-o como um arquivo não-unicode

 


Compartilhar este post


Link para o post
Compartilhar em outros sites

Não da certo não.

 

Só reconhece se eu salvo o arquivo no formato UTF-8, mas ai tenho que tirar a linha:

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> 

E ai tudo que tem da tabela vem com a acentuação bagunçada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Response.CharSet = "ISO-8859-1".

 

No cabeçalho do site coloque a meta tag <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agradeço a atenção, mais ainda não funciona.

 

Se eu coloco como escreveu:

 

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

Gera o erro:

Active Server Pages erro 'ASP 0221'

Diretiva de comando @ inválida

/frenteceb.asp, linha 2

A opção especificada 'Response.Charset="ISO-8859-1" ' é desconhecida ou inválida. 

Se eu coloco assim:

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

Fica na mesma, mesmo colocando:

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

Que seria dentro do <head> </head> Isso?

 

Não como mandar converter cada campo na hora de buscar a informação na tabela?

Compartilhar este post


Link para o post
Compartilhar em outros sites


esse no início da page

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

 

e depois dentro do code o

 

Response.Charset="ISO-8859-1"

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse seria o codigo para utf-8.

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
</body>
</html>

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> 

 

coloque no início da página o código acima, e depois o

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda não.

Ficou assim:

Especificação do Curso:       Curso Livre - Preparatório para Concurso para Soldado da Polícia Militar

Estranho que no windows XP com sql server 2000, funcionava certinho.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

<%Response.Charset="ISO-8859-1"%>

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sei que esse assunto já morreu, mas a dica abaixo serve para ajudar outras pessoas:

 

Para que a acentuação funcione tanto com o banco de dados quanto com os textos escritos diretamente no ASP, é necessário que o arquivo esteja salvo com a codificação UTF-8 / 65001, tenha a metatag charset apontando para o UTF-8 (até aqui já dito pelos amigos acima). Mas, também é necessário verificar se todos os seus includes tem a mesma formatação que o arquivo que você está abrindo.

 

Por padrão, o IIS usa o "codepage=1252", então usar a tag <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> é a melhor saída quando não pode alterar no IIS diretamente.

Se o seu IIS está com o 1252 e voce configura o response.codepage para o 65001 pode não adiantar e bagunçar o conteúdo da tabela. Por isso deve sempre usar a tag <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Mano olha eu tentei isso e funciono comigo, acho que e o mesmo problema ai.

 

Response.ContentType = "text/html; charset=ISO-8859-1" 
Response.ContentType = "text/html"
Response.AddHeader "Content-Type", "text/html;charset=UTF-8"
Response.CodePage = 65001
Response.CharSet = "UTF-8"

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.