Ir para conteúdo

POWERED BY:

Arquivado

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

formalivre

problemas de acentuação no flash

Recommended Posts

tenho um formulário no flash que envia e-mail utilizando ASP.quando recebo este e-mail ele aparece com problemas de caracteres "coração. de estudante é....."não posso usar o "System.useCodepage=true" em meu arquivo flash pois estou puxando dados de um arquivo XML que jé está com codificação "UTF-8" e quando coloco o "System.useCodepage=true" o e-mail chega sem problemas mas os textos vindos do XML ficam assim "coração" tentei utilizar esta tag "<meta http-equiv="content-type" content="text/html; charset=UTF-8">" no início do ASP mas tambén não funcionou.vou postar abaixo o código ASP que estou utilizando para enviar o e-mail:

<%Destino = "contato@a1clique.com"servidor = "mail.a1clique.com"titulo = "Contato pelo site a1clique"'Asignamos los valores recibidos del formulario a las variables'Estas variables deben estar en el formulario dentro del swfOrigen = Request("email")nombre = Request("nombre")empresa = Request("empresa")Mensaje = Request("mensaje")'Creamos una instancia del objeto ASPMAILSet Mail = Server.CreateObject("Persits.MailSender")' Creamos el cuerpo del mensajestrBody = strBody & "<font face='Verdana, Arial, Helvetica, sans-serif' size='2' color='#555555'>" strBody = strBody & "Nome: "strBody = strBody & "<b>" & nombre & "</b><br><br>"strBody = strBody & "E-mail: "strBody = strBody & "<b>" & Origen & "</b><br><br>"strBody = strBody & "Telefone: "strBody = strBody & "<b>" & empresa & "</b><br><br>"strBody = strBody & "Mensagem: <br><br>"strBody = strBody & Mensaje & chr(10) strBody = strBody & "</font>" 'Asignamos las propiedades al objeto con ASPMAILMail.Host = servidorMail.Port = 25 ' Valor opcional. 25 es el puerto por defecto.Mail.From = "contato@a1clique.com"Mail.FromName = Email ' OpcionalMail.Subject = tituloMail.Body = strBodyMail.IsHTML = TrueMail.AddAddress DestinoOn Error Resume NextMail.Send' El control del error es con ASPMAILIf Err <> 0 Then Response.Write "popup.mensaje=Erro ao enviar o formulário. Por favor tente mais tarde. " & Err.DescriptionElse Response.Write "popup.mensaje=Mensagem enviada com sucesso!!!"End If'Destruimos el objeto con aspmailSet Mail = Nothing%>

se alguém puder me ajudar desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é mais de ASP mesmo, mas vou quebrar um galho :P. Você tem que "encodar" o UTF-8. Primeiro, veja esse exemplo.

 

'DecodeUTF8'  Decodes a UTF-8 string to the Windows character set'  Non-convertable characters are replace by an upside'  down question mark.'Returns:'  A Windows stringfunction DecodeUTF8(s)  dim i  dim c  dim n  i = 1  do while i <= len(s)	c = asc(mid(s,i,1))	if c and &H80 then	  n = 1	  do while i + n < len(s)		if (asc(mid(s,i+n,1)) and &HC0) <> &H80 then		  exit do		end if		n = n + 1	  loop	  if n = 2 and ((c and &HE0) = &HC0) then		c = asc(mid(s,i+1,1)) + &H40 * (c and &H01)	  else		c = 191 	  end if	  s = left(s,i-1) + chr(c) + mid(s,i+n)	end if	i = i + 1  loop  DecodeUTF8 = s end function

Depois de adicionar esse código na página, use para mudar a codificação:

 

Origen = DecodeUTF8(Request("email"))

E assim vai.

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá Antonio, obrigado pela ajuda.fiz assim:

<%'DecodeUTF8' Decodes a UTF-8 string to the Windows character set' Non-convertable characters are replace by an upside' down question mark.'Returns:' A Windows stringfunction DecodeUTF8(s) dim i dim c dim n i = 1 do while i <= len(s) c = asc(mid(s,i,1)) if c and &H80 then n = 1 do while i + n < len(s) if (asc(mid(s,i+n,1)) and &HC0) <> &H80 then exit do end if n = n + 1 loop if n = 2 and ((c and &HE0) = &HC0) then c = asc(mid(s,i+1,1)) + &H40 * (c and &H01) else c = 191 end if s = left(s,i-1) + chr© + mid(s,i+n) end if i = i + 1 loop DecodeUTF8 = s end function%><%Destino = "contato@a1clique.com"servidor = "mail.a1clique.com"titulo = "Contato pelo site a1clique"'Asignamos los valores recibidos del formulario a las variables'Estas variables deben estar en el formulario dentro del swfOrigen = DecodeUTF8(Request("email"))nombre = DecodeUTF8(Request("nombre")empresa = DecodeUTF8(Request("empresa")Mensaje = DecodeUTF8(Request("mensaje")'Creamos una instancia del objeto ASPMAILSet Mail = Server.CreateObject("Persits.MailSender")' Creamos el cuerpo del mensajestrBody = strBody & "<font face='Verdana, Arial, Helvetica, sans-serif' size='2' color='#555555'>" strBody = strBody & "Nome: "strBody = strBody & "<b>" & nombre & "</b><br><br>"strBody = strBody & "E-mail: "strBody = strBody & "<b>" & Origen & "</b><br><br>"strBody = strBody & "Telefone: "strBody = strBody & "<b>" & empresa & "</b><br><br>"strBody = strBody & "Mensagem: <br><br>"strBody = strBody & Mensaje & chr(10) strBody = strBody & "</font>" 'Asignamos las propiedades al objeto con ASPMAILMail.Host = servidorMail.Port = 25 ' Valor opcional. 25 es el puerto por defecto.Mail.From = "contato@a1clique.com"Mail.FromName = Email ' OpcionalMail.Subject = tituloMail.Body = strBodyMail.IsHTML = TrueMail.AddAddress DestinoOn Error Resume NextMail.Send' El control del error es con ASPMAILIf Err <> 0 Then Response.Write "popup.mensaje=Erro ao enviar o formulário. Por favor tente mais tarde. " & Err.DescriptionElse Response.Write "popup.mensaje=Mensagem enviada com sucesso!!!"End If'Destruimos el objeto con aspmailSet Mail = Nothing%>

mas agora não recebi o e-mail de contato. o que pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sinceramente, não sei não. O que passei pra você foi mais o resultado de uma pesquisa no google do que meu conhecimento. Vai lá no fórum de ASP que o pessoal entende bem mais. :DAbraço

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.