Foros del Web » Programando para Internet » ASP Clásico »

Problema con acentos al enviar email con ASP

Estas en el tema de Problema con acentos al enviar email con ASP en el foro de ASP Clásico en Foros del Web. Hola Buenas! Vereis tengo un formulario hecho en Flash que envía datos con un fichero ASP, hasta ahí todo bien. Pero no se como evitar ...
  #1 (permalink)  
Antiguo 02/09/2009, 06:26
Avatar de asturmano  
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 20
Antigüedad: 17 años, 2 meses
Puntos: 0
Problema con acentos al enviar email con ASP

Hola Buenas! Vereis tengo un formulario hecho en Flash que envía datos con un fichero ASP, hasta ahí todo bien. Pero no se como evitar que me saque códigos raros cuando intento poner caracteres especiales (acentos,comillas,ñ´s). estos caracteres erroneos sólo aparecen en el código fijo, el que yo pongo por defecto en el ASP digamos, sin embargo no aparece en los campos que relleno en el formulario.

Si os fijais más abajo el nombre es un campo rellenado y he puesto Asturíano y pone bien el acento pero "Sería" que es parte del texto fijo lo pone como "SerÃ*a"

Adjunto código del ASP resultado obtenido en el correo.

Set Mail = Server.CreateObject ("Persits.MailSender")
Mail.Host = "mailmimailcom"
Mail.Username = "mimail2miwebcom"
Mail.Password = "mipass"
Mail.From = "mimail2miwebcom"

Mail.FromName = "Apartamentos taltal"
Mail.AddAddress "mimail2hotmailcom"
Mail.AddCC correo
Mail.AddCC "otrocorreo2yahooes"
Mail.Subject = "Book Online / Reserva por Internet"
Mail.Body = "Hello! My name is " & nombre & " and I’m interested in renting " & APARTMENTo & " from the " & dia1 & " de " & mes1 & " del " & ano1 & " until the " & dia2 & " de " & mes2 & " of " & ano2 & ". We would be " & numero & " guests. You can contact me at " & tel & " or write me an email " & correo & ". Additionally I would like to comment " & consultas & ". Many thanks." & vbCrLf & vbCrLf & "Hola! Soy " & nombre &" y me interesa el alquiler del " & apartamento & " desde el " & dia1 & " de " & mes1 & " del " & ano1 & " hasta el " & dia2 & " de " & mes2 & " del " & ano2 & ". Sería para " & numero & " personas. Para ponerte en contacto conmigo me puedes llamar al teléfono " & tel & " o escribirme un correo a " & correo & ". Además quería comentarte que " & consultas & ". Muchas gracias."
Mail.Queue=True
Mail.Send

EL RESULTADO OBTENIDO ES:

Hello! My name is Javier Asturíano and Iâ?Tm interested in renting from the 11 de January del 2009 until the 13 de January of 2009. We would be 2 guests. You can contact me at 666666666 or write me an email micorre"direcc.com. Additionally I would like to comment Otra prueba. Many thanks.

Hola! Soy Javier Asturíano y me interesa el alquiler del Apartment 3 desde el 11 de January del 2009 hasta el 13 de January del 2009. SerÃ*a para 2 personas. Para ponerte en contacto conmigo me puedes llamar al teléfono 666666666 o escribirme un correo a micorre"direcc.com. Además querÃ*a comentarte que Otra prueba. Muchas gracias.
  #2 (permalink)  
Antiguo 02/09/2009, 07:28
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: Problema con acentos al enviar email con ASP

Hola

Usa las funciones escape (al enviarlo) y unescape (al recibirlo)

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 03/09/2009, 00:08
Avatar de asturmano  
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 20
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Problema con acentos al enviar email con ASP

Gracias!!!! pero me podrías especificar más como hacerlo, un ejemplo quizás. Nunca he programado con ASP y no se como hacerlo.
  #4 (permalink)  
Antiguo 03/09/2009, 05:02
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: Problema con acentos al enviar email con ASP

Hola

Mira, vamos ha reemplazar los caracteres acentuados, las ñ y las comillas simples por sus entidades html

Código asp:
Ver original
  1. Dim cadena
  2.  
  3. Public Function Remplaza(limpia,caso)    
  4.  
  5.     cadena = trim(limpia)
  6.    
  7.     Select Case caso
  8.  
  9.     Case 0:
  10.  
  11.         cadena = replace(cadena,"'","'")
  12.         cadena = replace(cadena,"¿","&iquest;")
  13.         cadena = replace(cadena,"¡","&iexcl;")
  14.         cadena = replace(cadena,"ñ","&ntilde;")
  15.         cadena = replace(cadena,"Ñ","&Ntilde;")
  16.         cadena = replace(cadena,"á","&aacute;")
  17.         cadena = replace(cadena,"Á","&Aacute;")
  18.         cadena = replace(cadena,"é","&eacute;")
  19.         cadena = replace(cadena,"É","&Eacute;")
  20.         cadena = replace(cadena,"í","&iacute;")
  21.         cadena = replace(cadena,"Í","&Iacute;")
  22.         cadena = replace(cadena,"ó","&oacute;")
  23.         cadena = replace(cadena,"Ó","&Oacute;")
  24.         cadena = replace(cadena,"ú","&uacute;")
  25.         cadena = replace(cadena,"Ú","&Uacute;")
  26.        
  27.     Case Else
  28.         cadena = limpia
  29.     End Select
  30.  
  31.     Remplaza = cadena
  32.  
  33. End Function


NOTA: El foro interpreta la linea 11 cambiala a esto
cadena = replace(cadena,"'"," & # 3 9 ; ") // Quitale los espacios


Ahora quedaría así

Código asp:
Ver original
  1. cuerpo = Remplaza("Hello! My name is " & nombre & " and I’m interested in renting " & APARTMENTo & " from the " & dia1 & " de " & mes1 & " del " & ano1 & " until the " & dia2 & " de " & mes2 & " of " & ano2 & ". We would be " & numero & " guests. You can contact me at " & tel & " or write me an email " & correo & ". Additionally I would like to comment " & consultas & ". Many thanks." & vbCrLf & vbCrLf & "Hola! Soy " & nombre &" y me interesa el alquiler del " & apartamento & " desde el " & dia1 & " de " & mes1 & " del " & ano1 & " hasta el " & dia2 & " de " & mes2 & " del " & ano2 & ". Sería para " & numero & " personas. Para ponerte en contacto conmigo me puedes llamar al teléfono " & tel & " o escribirme un correo a " & correo & ". Además quería comentarte que " & consultas & ". Muchas gracias.",0)
  2.  
  3. Mail.Body = cuerpo

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 03/09/2009, 06:44
Avatar de asturmano  
Fecha de Ingreso: febrero-2008
Ubicación: Madrid
Mensajes: 20
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Problema con acentos al enviar email con ASP

Hola Adler! Muchas gracias por tu explicación, pero te cuento como lo he resuelto finalmente. He investigado acerca del escape y el unescape (he visto que otras veces has dado esa solución).

Y en el formulario flash le he puesto escpa(nombre de variable a enviar a asp) y en el programa asp he recibido la variable como unescape(nombre de variable recibida). Además he cambiado el codigo a ISO_8859-1 y ha empezado a funcionar correctamente.

Muchas gracias por todo y también por no odiar.
  #6 (permalink)  
Antiguo 03/09/2009, 08:11
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: Problema con acentos al enviar email con ASP

Cita:
Iniciado por asturmano Ver Mensaje
Hola Adler! Muchas gracias por tu explicación, pero te cuento como lo he resuelto finalmente. He investigado acerca del escape y el unescape (he visto que otras veces has dado esa solución).

Y en el formulario flash le he puesto escpa(nombre de variable a enviar a asp) y en el programa asp he recibido la variable como unescape(nombre de variable recibida). Además he cambiado el codigo a ISO_8859-1 y ha empezado a funcionar correctamente.

Muchas gracias por todo y también por no odiar.
Perfecto , tenías ambas opciones
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:32.