Ir para conteúdo

POWERED BY:

Arquivado

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

thiago leite

[Resolvido] erro com charset

Recommended Posts

boa tarde, estava esses dias com um problema de charset que eu acabei resolvendo. estou fazendo uma página, ai fiz um combo, que quando a pessoa clicar no departamento, listar os setores.

so que quando clico no setor e vai buscar, ele passa a pagina com caracter invalido, ai acaba que naõ retorna nada na consulta.

estou tendo uma certa dificuldade com isto, sempre trabalhei com php e nunca tive problemas, ja com asp. rs, será que alguém tem algum materia bacana pra me mandar para eu ver? obrigado

 

segue o codigo

 

faleconosco.asp

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
<!--#include file="enviaEmail.asp" -->
action = request("action")
setor = request("setor")
%>
<!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>
<title>Indústria Santa Clara SA</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="language" content="pt-BR">
<meta name="description" content="Indústria Santa Clara, meio século de qualidade!">
<meta name="keywords" content="Indústria, Santa Clara, Caixas, Padrões de Entrada, Postes, Tubos, Galvanização, Ferragens">
<meta name="author" content="Romilson Gil do Prado - inforon@terra.com.br">
<meta name="reply-to" content="">
<link rel="shortcut icon" href="favicon.ico" />
<link href="css/estilos.css" rel="stylesheet" type="text/css" />
<link href="css/menus.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/geral.js"></script>
<script type="text/javascript" src="js/AC_RunActiveContent.js"></script>
<script type="text/javascript" src="js/iepngfix_tilebg.js"></script>
<script type="text/javascript" charset="utf-8" src="js/instrucao.js"></script>
<script type="text/javascript" charset="utf-8" src="js/ajax.js"> </script>
<script type="text/javascript" charset="utf-8" src="js/validacoes.js"></script>
</head>

<body>
<div id="Mae" align="center">
	<!--CABECALHO-->
 <% Response.AddHeader "Content-Type", "text/html; charset=utf-8" %> 
 <!--#include file="lib/lib_cns.asp"--> 
<!--#include file="lib/lib_dbu.asp"--> 
	<!--#include file="cabecalho.asp" -->
 
	<!--//CABECALHO-->
	
	<!--CONTEUDO-->
	<div id="Conteudo">
		<div id="Conteudo-Interna">
			<div class="titulos"><img src="imgs/tit_FaleConosco.png" width="583" height="33"/></div>
			<div class="voltar"><a href="java script: history.back();"><img src="imgs/bot_voltar.png" width="51" height="15"/></a></div>
			<div class="clear"></div>
									
			<span class="boxTitulo-Esq alinhamento"></span><span class="boxTitulo-txt">Endereço</span><span class="boxTitulo-Dir"></span>
			<div class="clear"></div>
			
			<p>Indústria Santa Clara S.A.<br />
			Rua José Maria de Lacerda, 1895<br />
			Cidade Industrial<br />
			32210-120 – Contagem – MG<br />
			Brasil</p>
			
			<span class="boxTitulo-Esq alinhamento"></span><span class="boxTitulo-txt">Telefones</span><span class="boxTitulo-Dir"></span>
			<div class="clear"></div>
			<p>(31) 3306.7400 / 3306.7373</p>
			<span class="boxTitulo-Esq alinhamento"></span><span class="boxTitulo-txt">Horário de Atendimento</span><span class="boxTitulo-Dir"></span>
			<div class="clear"></div>
			<p>De 08 às 17:48, de segunda a sexta-feira.</p>
			<p>Se seu desejo for enviar currículo para fazer parte da equipe de Funcionários, acesse o link <a href="RH.asp">RH</a>, para o quadro de Representantes dos produtos e serviços Santa Clara, acesse o link <a href="Comercial.asp?id=Representantes-Curriculo">Representantes</a>.</p>
			<form action="FaleConosco.asp" method="post" id="forms" class="alinhamentoCurriculo" onsubmit="return validaFaleConosco();" >
				<span class="forms-RotuloCurriculo">Empresa</span>
				<span class="forms-Esq"></span><span class="forms-Form"><input name="empresa" id="empresa" type="text" value="" style="width:330px;" />
				</span><span class="forms-Dir"></span>

				<div class="quebra"></div>
				
				<span class="forms-RotuloCurriculo">Nome*</span>
				<span class="forms-Esq"></span><span class="forms-Form">
				<input name="nome" type="text" id="nome" style="width:330px;" value="" />
				</span><span class="forms-Dir"></span>
				<div class="quebra"></div>
				
				<span class="forms-RotuloCurriculo">Telefone</span>
				<span class="forms-Esq"></span><span class="forms-Form">
				<input name="telefone" type="text" id="telefone" style="width:330px;" value="" />
				</span><span class="forms-Dir"></span>
				<div class="quebra"></div>
				
				<span class="forms-RotuloCurriculo">E-mail*</span>
				<span class="forms-Esq"></span><span class="forms-Form">
				<input name="e-mail" type="text" id="e-mail" style="width:330px;" value="" />
				</span><span class="forms-Dir"></span>
				<div class="quebra"></div>
				
				<span class="forms-RotuloCurriculo">Enviar para*</span>

				<span class="forms-Esq"></span><span class="forms-Form">
				<select id="departamento" name="departamento" style="width:330px;" onchange="carregaListMenu('faleConosco_setor.asp');">
				 <%
			 	set RS = CreateObject("ADODB.RecordSet")
				set LocalOpenCursor_Cnn = GetDBConnection(libGbl_DBPath,True)
				SQL = "select distinct dptnme from departamento order by dptnme"
				RS.Open SQL, LocalOpenCursor_Cnn, 3,3
				set GetRecordSet1 = RS
				campo = "" %>
				<option value ="selecione">Clique Aqui</option> <%
				 While not GetRecordSet1.EOF %>
						<option value="<%=(GetRecordSet1.Fields.Item("dptnme").Value)%>"><%=(GetRecordSet1.Fields.Item("dptnme").Value)%></option>
				<%
					  GetRecordSet1.MoveNext
				 Wend
				 %>
				</select></span><span class="forms-Dir"></span>
				
				<div id="conteudo_mostrar">				
					
				</div>
				<div class="quebra"></div>
				
				<span class="forms-RotuloCurriculo">Mensagem*</span>
				<span class="forms-textarea">
				<textarea name="mensagem" rows="5" id="mensagem" style="width:335px;"></textarea>
			  </span>
				<div class="quebra"></div>
				Campos com * são obrigatórios
				<div class="quebra"></div>
				
				<div class="forms-bgBotao"><input name="" type="submit" value="" class="forms-Enviar" /></div>
			</form>
			
			<div id="mensagem_ok" style="display:none"><p id="MensagemOk"></p></div>
			
			<div id="Mensagem_Erro" style="display:none"><p id="MensagemErro"></p></div>

			
			<div class="clear"></div>
			<div class="topo"><a href="#topo"><img src="imgs/bot_topo.png" width="43" height="17"/></a></div>
			<div class="clear"></div>
			
		</div>
	</div>
	<!--//CONTEUDO-->
	
	<!--RODAPE-->
	<!--#include file="rodape.asp" -->
	<!--//RODAPE-->
</div>
<%

if(setor <> "") then
	nome = request("nome") 'resgata o nome'
	empresa = request("empresa")
	
	email = request("e-mail") 'resgata o email'
	mensagem = request("mensagem") 'resgata a mensagem'
	telefone = request("telefone")
	Set objeto = Server.CreateObject("CDONTS.NewMail") 'cria o objeto'
	objeto.From = email 'Email de quem envia a mensagem. Neste caso o email digitado no formulario'
	objeto.To = "tchagas@santaclarasa.com.br" 'Emeil que vai receber a mensagem'
	objeto.Subject = "Fale Conosco - Web Site Santa Clara" 'assunto da mensagem'
	objeto.Bodyformat = 0 'faz com que o cdonts envie conteudo html'
	objeto.MailFormat = 0 'faz com que o cdonts envie conteudo html'
	objeto.Body = "Mensagem para " & setor & "<br><b> Nome:</b> " & nome & "<br><b>Empresa: </b>" & empresa & "<br><b>Telefone:</b>" & telefone &  "<br><b>Mensagem: </b>" & mensagem
	objeto.Send %>
	<script>alert('Mensagem enviada com sucesso');</script>
<%	Set objeto = Nothing 'finaliza o objeto'
end if
%>



</body>
</html>

 

 

 

 

faleconosco_setor.asp

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include file="lib/lib_cns.asp"--> 
<!--#include file="lib/lib_dbu.asp"--> 
<div class="quebra"></div>
<span class="forms-RotuloCurriculo" ></span>
<div class="quebra"></div>
<span class="forms-RotuloCurriculo" ></span>
<% 
   	action = request("action")
	departamento = request("departamento")
	GetRecordSet1 = ""
   	set RS = CreateObject("ADODB.RecordSet")
	set LocalOpenCursor_Cnn = GetDBConnection(libGbl_DBPath,True)
	SQL = "select dptstr,dpteml from departamento where dptnme='" &departamento& "' order by dptstr"
	RS.Open SQL, LocalOpenCursor_Cnn, 3,3
	set GetRecordSet1 = RS
	response.Write(SQL)
	%>
	<span class="forms-Esq"></span><span class="forms-Form" ><!--select name="setor" style="width:330px;" onchange="" !-->
	 <%
			  
	campo = "" 
	 While not GetRecordSet1.EOF %>
			<option value="<%=(GetRecordSet1.Fields.Item("dpteml").Value)%>"><%=(GetRecordSet1.Fields.Item("dptstr").Value)%></option>
	<%
		  GetRecordSet1.MoveNext
	 Wend
	 %>
	</select></span><span class="forms-Dir"></span>

 

 

instrucao.js

function abrirPag(valor){
	
	var url = valor;

	xmlRequest.open("GET",url,true);	
	

	xmlRequest.onreadystatechange = mudancaEstado;
	xmlRequest.send(null);
	
		if (xmlRequest.readyState == 1) {
			document.getElementById("conteudo_mostrar").innerHTML = "<br><img src='imgs/ajax-loader.gif'>";
			setTimeout("",5000);
		}

	return url;
}



function carregaListMenu(valor){

	var url = valor + "?departamento=" + document.getElementById("departamento").value;

	xmlRequest.open("GET",url,true);	
	
	xmlRequest.onreadystatechange = mudancaEstado;
	xmlRequest.send(null);

		if (xmlRequest.readyState == 1) {
			document.getElementById("conteudo_mostrar").innerHTML = "<br><img src='imgs/ajax-loader.gif'>";
			setTimeout("",5000);
		}

	return url;
}

 

ajax.js

function GetXMLHttp() {
	if(window.XMLHttpRequest) {//Mozilla, Opera, Safari, ...
		xmlHttp = new XMLHttpRequest();
	}
	else
		if (window.ActiveXObject) {//Internet Explorer
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	return xmlHttp;	

	
}
var xmlRequest = GetXMLHttp();

 

o site está hospedado neste link

 

ai quando clico no setor ele lista o nome do departamento que tem acento errado.

 

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

clique com o botão direito na página faleConosco_setor.asp e escolha a opção Abrir Com...Notepadao abrir vá em salvar como...

 

escolha a opção CODIFICAÇÃO para UTF-8

Salve sobrescrevendo o arquivo original

 

Na página faleconosco.asp coloque na primeira linha o seguinte:

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

 

salve e teste.

 

caso ainda apresente erro, verifique se a página faleconosco.asp está com a codificação UTF-8(como descrevi acima)

caso permaneça com problema ainda, defina na página faleConosco_setor.asp o charset :

response.charset="utf-8"

 

OBS.:faça backup dos arquivos antes de proceder com o que eu passei pois ao alterar a codificação os textos estáticos podem se perder nos acentos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tinha muitos problemas com charset, principalmente pra relacionar o que se digita na busca, no cadastro e como fica gravado no BD. Sempre dava problemas com acentuação e tals... ae eu mudei pra

 

"charset=windows-1252"

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá uma olhada aqui pode te ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu pela moral pessoal. consegui, seguinte usei

 

<meta http-equiv="Content-Type" content="text/html; charset=1252" />
na fale conosco.asp

 

e na fale conosco_setor.asp

Response.CodePage = 1252
Response.CharSet = "windows-1252"

 

ai funfou fino. mas o seguinte, quando mando carregar, no firefox funciona fino. no Ie ele continua processando, nao da como concluido.

da uma olhadinha no link

 

 

valew pela moral pessoal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui no FF deu erro. Pq você não usa iso-8859-1 ao invés de 1252?

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz uma pog né hehe.

faleconosco.asp

nav = Request.ServerVariables("HTTP_USER_AGENT")
if instr(nav,"MSIE") then
	response.Write("<meta http-equiv=""Content-Type"" content=""text/html; charset=1252"" />")
elseif instr(nav,"Mozilla") then
   response.Write("<meta http-equiv=""Content-Type"" content=""text/html; charset=UTF-8"" />")

else
	 response.Write("<meta http-equiv=""Content-Type"" content=""text/html; charset=UTF-8"" />")
end if

 

faleconosco_setor.asp

nav = Request.ServerVariables("HTTP_USER_AGENT")
if instr(nav,"MSIE") then
   Response.CodePage = 1252
	Response.CharSet = "windows-1252"
elseif instr(nav,"Mozilla") then
   response.Write("<meta http-equiv=""Content-Type"" content=""text/html; charset=UTF-8"" />")

else
	 response.Write("<meta http-equiv=""Content-Type"" content=""text/html; charset=UTF-8"" />")
end if

agora ta funcionando fino. mas so no IE, que quando ele carrega o setor, ele continua carregando, mas iremos descobrir ainda.

 

valew pelas dicas.

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, é tão simples fazer o certo...bastava fazer o que disse acima pois você está usando codificações diferentes e isso fica incompativel

 

mas se resolveu assim...beleza, o que importa é o cliente feliz

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.