Ir para conteúdo

POWERED BY:

Arquivado

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

Antonio Amici

[Resolvido] Problema com caracteres ASP CDONTS

Recommended Posts

Olá a todos... pessoal.. por favor... me ajudem com isso...

 

Tenho um formulário em HTML, que possibilita o envio de e-mail contendo uma indicação para visitar um site... este formulário seria esse (estou passando ele completo para verem como ele está feito por completo):

 

---------------

<!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>
<style type="text/css">
<!--
body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
}
#apDiv1 {
	position:absolute;
	left:0px;
	top:0px;
	width:350px;
	height:226px;
	z-index:1;
}
.style5 {font-family: Tahoma; font-size: 13px; }
-->
</style>
</head>
<body>
<div id="apDiv1">
  <div align="justify">
	<p class="style5">Utilize o formulário abaixo para indicar este site a um(a) amigo(a).</p>
	<form id="form1" name="form1" method="post" action="indique.asp">
	  <table width="100%%" border="0" cellspacing="0" cellpadding="0">
		<tr>
		  <td width="45%" align="right"><span class="style5">Seu nome </span></td>
		  <td width="55%"><label>
			<input name="fnome" type="text" id="fnome" size="30" />
		  </label></td>
		</tr>
		<tr>
		  <td colspan="2" align="right"></td>
		</tr>
		<tr>
		  <td colspan="2" align="right"></td>
		</tr>
		<tr>
		  <td align="right"><span class="style5">Seu e-mail </span></td>
		  <td><label>
			<input name="femail" type="text" id="femail" size="30" />
		  </label></td>
		</tr>
		<tr>
		  <td colspan="2" align="right"></td>
		</tr>
		<tr>
		  <td colspan="2" align="right"></td>
		</tr>
		<tr>
		  <td align="right"><span class="style5">Nome amigo </span></td>
		  <td><label>
			<input name="fnomeamigo" type="text" id="fnomeamigo" size="30" />
		  </label></td>
		</tr>
		<tr>
		  <td colspan="2" align="right"></td>
		</tr>
		<tr>
		  <td colspan="2" align="right"></td>
		</tr>
		<tr>
		  <td align="right"><span class="style5">E-mail do amigo </span></td>
		  <td><label>
			<input name="femailamigo" type="text" id="femailamigo" size="30" />
			<input type = hidden name="pagina" value = "http://www.tireseulivrodagaveta.com.br/">
		  </label></td>
		</tr>
		<tr>
		  <td colspan="2" align="right"></td>
		</tr>
		<tr>
		  <td colspan="2" align="right"></td>
		</tr>
		<tr>
		  <td colspan="2" align="right"></td>
		</tr>
		<tr>
		  <td colspan="2"></td>
		</tr>
		<tr>
		  <td colspan="2"></td>
		</tr>
	  
		<tr>
		  <td colspan="2" align="center"><span class="style5">
			<label>
			<input type="submit" name="button" id="button" value="Enviar" />
			</label>
			<label>
			<input type="reset" name="button2" id="button2" value="Limpar" />
			</label>
		  </span></td>
		</tr>
	  </table>
	</form>
	</div>
</div>
</body>
</html>[/i]
------------------------

Quando clico em enviar, ele acessa um código ASP que possibilida enviar o e-mail ao destinatário através de CDONTS... que seria esse:

---------------
[i]<%
str_nome = trim(request.form("fnome"))
str_email = trim(request.form("femail"))
str_nomeamigo = trim(request.form("fnomeamigo"))
str_emailamigo = trim(request.form("femailamigo"))
str_assunto = "Indicação de site"
endereco = request.form("pagina")
str_mensagem = "Olá "& str_nomeamigo &", acessei este site e acredito que também é de seu interesse, aproveite e tire seu livro da gaveta!<br><br><a href="&endereco&">:: Tire seu livro da gaveta ::</a>"
set mensagem = server.createobject("CDONTS.NewMail")
mensagem.from = str_nome & "(" & str_email & ")"
mensagem.to = str_emailamigo
mensagem.Subject = str_assunto
mensagem.bodyformat = 0
mensagem.mailformat = 0
mensagem.Body = str_mensagem
mensagem.Send
response.write "<font face='Tahoma' size='2'><b>Informações do envio</b></font>"
response.write "<br><br><font face='Tahoma' size='2'><b> Remetente: </b> " & str_nome & " - " & str_email & "</font>"
response.write "<br><font face='Tahoma' size='2'><b> Destinatário: </b> " & str_emailamigo & "</font>"
response.write "<br><font face='Tahoma' size='2'><b> Assunto: </b> " & str_assunto & "</font>"
response.write "<br><font face='Tahoma' size='2'><b> Mensagem: </b> " & str_mensagem & "</font>"
response.write "<br><br><font face='Tahoma' size='3'><b>Mensagem enviada com sucesso</b></font>"
response.write "<br><br><font face='Tahoma' size='2'><b><a href='conteudoindiqueparaumamigo.html'>Clique aqui para voltar</a></b></font>"
%>
-------------------------

 

O que acontece... é que ele exibe a mensagem enviada perfeitamente, com os caracteres corretos...e envia também corretamente.. o problema está em quem recebe a mensagem... os caracteres aparecem fora do contexto... assim:

 

-----------------

 

Assunto: Indicação de site

 

Mensagem: Olá Developer, acessei este site e acredito que também é de seu interesse, aproveite e tire seu livro da gaveta!

 

:: Tire seu livro da gaveta ::

 

---------------------

 

Já acessei trocentos fóruns em busca de solução... e em nenhum consegui encontrá-la... estou postando aqui pois sem que é o melhor site de conteúdo e o que contém as pessoas mais inteligentes na busca de soluções...

 

Agradeço gentilmente a ajuda desde já.

 

Atenciosamente,

 

Antonio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola amigo, tens que trocar os seus caracteres que estão em UTF-8, tipo:

se tens as palavras, por exemplo, " formulário disponível" troque por "formulário disponível".

nesse caso troquei o "á" pelo o seu codigo html que corresponde "á" e o "í" pelo "í".

 

Entendeu?

Bom ano

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola amigo, tens que trocar os seus caracteres que estão em UTF-8, tipo:

se tens as palavras, por exemplo, " formulário disponível" troque por "formulário disponível".

nesse caso troquei o "á" pelo o seu codigo html que corresponde "á" e o "í" pelo "í".

 

Entendeu?

Bom ano

Oi Filipe, agradeço a intenção de ajuda.

 

O que acontece é que não necessito dessa alteração no HTML, mas sim no ASP, que vai enviar a mensagem, e a mensagem no ASP é colocada como texto dentro das variáveis, sendo assim, se alterar por exemplo a palavra "formulário", para "formul´rio" a pessoa que receberá o e-mail, receberá os caracteres como foram digitados, ou seja, ela lerá "formul´rio", como foi escrito por mim.

 

Agradecidamente,

 

Antonio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola amigo, acho que você nao percebeu ( acho eu, acho, rsrs ).

Não estou dizendo para você alterar o HTML, estou dizendo que você tem que alterar a palavra para o seu codigo HTML, tens que criar uma função em ASP para fazer isso, tipo:

Function corTexto(mTexto)
arrayCaracteres = "é,è,É,È,ú,ù,Ú,Ù,í,ì,Í,Ì,ó,ò,Ó,Ò,á,à,Á,À,ç,Ç,ã,Ã,õ,Õ,â,Â,ê,Ê,î,Î,ô,Ô,û,Û,€,’,-,–"
arrayCaracteres2 = "é,è,É,É,ú,ù,Ú,Ù,í,î,Í,Ì,ó,ò,Ó,Ò,á,à,Á,À,ç,Ç,ã,Ã,õ,Õ,â,Â,ê,Ê,¡,Î,ô,Ô,û,Û,€,’,−,−"
splitCaracteres = Split(arrayCaracteres,",")
splitCaracteres2 = Split(arrayCaracteres2,",")
for i = 0 to ubound(splitCaracteres)
mTexto = replace(mTexto,splitCaracteres(i),splitCaracteres2(i))
next
corTexto = mTexto	
end function

Depois é so chamar a função, por exemplo, onde tens assunto:

corTexto(str_assunto)

Uma outra coisa, envias o teu e-mail como html, correcto? Eu nao uso muito o CDOSYS, mas penso que é mensagem.bodyformat = 1 para enviar como html. Bom, de qualquer forma terás que converter os carateres, é o que fazemos aqui na empresa, a questão nao é como envias mas sim como o cara recebe no e-mail.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola amigo, acho que você nao percebeu ( acho eu, acho, rsrs ).

Não estou dizendo para você alterar o HTML, estou dizendo que você tem que alterar a palavra para o seu codigo HTML, tens que criar uma função em ASP para fazer isso, tipo:

Function corTexto(mTexto)
arrayCaracteres = "é,è,É,È,ú,ù,Ú,Ù,í,ì,Í,Ì,ó,ò,Ó,Ò,á,à,Á,À,ç,Ç,ã,Ã,õ,Õ,â,Â,ê,Ê,î,Î,ô,Ô,û,Û,€,’,-,–"
arrayCaracteres2 = "é,è,É,É,ú,ù,Ú,Ù,í,î,Í,Ì,ó,ò,Ó,Ò,á,à,Á,À,ç,Ç,ã,Ã,õ,Õ,â,Â,ê,Ê,¡,Î,ô,Ô,û,Û,€,’,−,−"
splitCaracteres = Split(arrayCaracteres,",")
splitCaracteres2 = Split(arrayCaracteres2,",")
for i = 0 to ubound(splitCaracteres)
mTexto = replace(mTexto,splitCaracteres(i),splitCaracteres2(i))
next
corTexto = mTexto	
end function

Depois é so chamar a função, por exemplo, onde tens assunto:

corTexto(str_assunto)

Uma outra coisa, envias o teu e-mail como html, correcto? Eu nao uso muito o CDOSYS, mas penso que é mensagem.bodyformat = 1 para enviar como html. Bom, de qualquer forma terás que converter os carateres, é o que fazemos aqui na empresa, a questão nao é como envias mas sim como o cara recebe no e-mail.

Obrigado novamente, mas consegui com a ajuda do hgb7 uma linha de instrução no ASP,

Response.Charset="UTF-8"

e esta linha está reconhecendo perfeitamente as mensagens de texto, com os acentos de forma correta, MAS (como nem tudo é perfeito), agora são os dados do formulário quando são chamados para o ASP que estão indo com os caracteres errados... hehehe

 

Estão sendo apresentados desse modo:

 

------------------

Assunto: Indicação de site

 

Mensagem: Olá Cássio, acessei este site e acredito que também é de seu interesse, aproveite e tire seu livro da gaveta!

 

:: Tire seu livro da gaveta ::

---------------------

 

E quando o usuário vê como os dados foram enviados, aparece assim:

 

----------------

Informa��es do envio

 

Remetente: Antônio - bbb@uol.com.br

Destinat�rio: webdeveloper@editoramana.com.br

Assunto: Indica��o de site

Mensagem: Ol� Cássio, acessei este site e acredito que tamb�m � de seu interesse, aproveite e tire seu livro da gaveta!

 

:: Tire seu livro da gaveta ::

 

Mensagem enviada com sucesso

 

Clique aqui para voltar

-------------------

 

O mais engraçado é que consegui arrumar um e ferrar o outro... melhor do que os dois ferrados né? hehehe

 

Bom, acho que mexer com idioma do site está fora de cogitação, farei um código que cancela os acentos, melhor.

 

Agradeço desde já a ajuda viu Filipe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, é sempre assim com acentos, é sempre uma luta!

Epa, tent mais uma coisa:

Onde tens isso:

mensagem.bodyformat = 0
mensagem.mailformat = 0
mensagem.Body = str_mensagem

substitui por mensagem.htmlBody = str_mensagem e para teste envie para o e-mail a palavra escrita assim "formul´rio" ( que é formulário com o codigo html).

Bom, não estou vendo outra solução! Peço desculpas se não ajudei.

 

Cumprimentos

Compartilhar este post


Link para o post
Compartilhar em outros sites

complementando você pode acessar este link para maiores detalhes aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, é sempre assim com acentos, é sempre uma luta!

Epa, tent mais uma coisa:

Onde tens isso:

mensagem.bodyformat = 0
mensagem.mailformat = 0
mensagem.Body = str_mensagem

substitui por mensagem.htmlBody = str_mensagem e para teste envie para o e-mail a palavra escrita assim "formul´rio" ( que é formulário com o codigo html).

Bom, não estou vendo outra solução! Peço desculpas se não ajudei.

 

Cumprimentos

Ajudou bastante viu...

 

Agradeço a intenção e ao tempo disponibilizado.

 

Muito obrigado e até mais

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.