Foros del Web » Programando para Internet » PHP »

Acentos y eñes en webmail

Estas en el tema de Acentos y eñes en webmail en el foro de PHP en Foros del Web. Hola. Estoy usando el webmail de NuralStorm y tengo un problema. Cuando recibo un correo de por ejemplo "Esther Gutiérrez" en la bandeja de entrada ...
  #1 (permalink)  
Antiguo 19/07/2005, 12:17
Avatar de kesthers  
Fecha de Ingreso: mayo-2004
Ubicación: Valencia
Mensajes: 358
Antigüedad: 19 años, 11 meses
Puntos: 2
Acentos y eñes en webmail

Hola.
Estoy usando el webmail de NuralStorm y tengo un problema.

Cuando recibo un correo de por ejemplo "Esther Gutiérrez" en la bandeja de entrada me pone:

"From: =?iso-8859-1?Q?Esther_Guti=E9rrez?="


En cambio si en el asunto o el el cuerpo del email pongo este nombre si se ve correctamente.

Hay alguna función en PHP que pueda utilizar para que se vea correctamente.

Muchas gracias
  #2 (permalink)  
Antiguo 23/07/2005, 01:35
Avatar de kesthers  
Fecha de Ingreso: mayo-2004
Ubicación: Valencia
Mensajes: 358
Antigüedad: 19 años, 11 meses
Puntos: 2
Nadie sabria como hacerlo?

Gracias
  #3 (permalink)  
Antiguo 23/07/2005, 02:10
Avatar de kesthers  
Fecha de Ingreso: mayo-2004
Ubicación: Valencia
Mensajes: 358
Antigüedad: 19 años, 11 meses
Puntos: 2
Hola he probado con esta funcion: imap_utf8():

El caso es que ahora sale así: "Esther Gutiérrez" lo cual es un avance.
Lo que mas curiosidad me da es que en el código fuente si sale correcto.

Apache esta configurado para que muestre acentos (iso8859-1), de hecho en la misma página hay otras palabras con acentos y se ven bien.

Alguna idea.
  #4 (permalink)  
Antiguo 23/07/2005, 02:18
Avatar de uamistad  
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 19 años, 4 meses
Puntos: 1
Tengo el mismo problema

Saludos, recién estoy haciendo un filtro por el que pasan todos mis emails por un script. El script determina qué se debe hacer con ese email, pero en el mensaje aparecen los acentos y eñes de forma extraña.

Las letras acentuadas o eñes aparecen convertidas en:
Código:
é -> "=E9"
í -> "=ED"
ó -> "=F3"
ñ -> "=F1"
AYUDA !!
AYUDA !!
AYUDA !!
  #5 (permalink)  
Antiguo 23/07/2005, 03:11
Avatar de kesthers  
Fecha de Ingreso: mayo-2004
Ubicación: Valencia
Mensajes: 358
Antigüedad: 19 años, 11 meses
Puntos: 2
Bueno, tras mucho buscar encontré la solución:

Código PHP:
function decode_utf8($str){
    
$str str_replace("_"" "$str);
    
$err "(=\?.{10,13}q\?_?|\?\=)";
    
$pat "/=([0-9A-F]{2})/";
    
$cha "'.chr(hexdec(";
    
$str eregi_replace($err,"",$str);
    eval(
"\$str='".preg_replace($pat,$cha."'$1')).'",$str)."';");
    return 
$str;

  #6 (permalink)  
Antiguo 24/07/2005, 02:42
Avatar de uamistad  
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 19 años, 4 meses
Puntos: 1
Cita:
Iniciado por kesthers
Bueno, tras mucho buscar encontré la solución:

Código PHP:
function decode_utf8($str){
    
$str str_replace("_"" "$str);
    
$err "(=\?.{10,13}q\?_?|\?\=)";
    
$pat "/=([0-9A-F]{2})/";
    
$cha "'.chr(hexdec(";
    
$str eregi_replace($err,"",$str);
    eval(
"\$str='".preg_replace($pat,$cha."'$1')).'",$str)."';");
    return 
$str;


Probé con la solución que encontraste para tu problema. En su mayoría funcionó también para el mío, es buena.

Pero encontré que lo que necesitaba era no sólo poner Content-Type: text/plain; charset=iso-8859-1, sino también poner Content-Transfer-Encoding: quoted-printable.

Dejo esto por si a alguien le pudiera servir.

Saludos al foro.
  #7 (permalink)  
Antiguo 20/04/2006, 18:41
 
Fecha de Ingreso: noviembre-2005
Ubicación: Tampico
Mensajes: 19
Antigüedad: 18 años, 5 meses
Puntos: 0
Hola que tal, bueno pues mi problema es talvéz más simple pero igual de desesperante y es que tengo un formulario hecho en php y me llega al webmail de mi sitio pero el problema es que los acentos y las ñ no las acepta del todo y las cambia como les pasó a ustedes, la diferencia es que no estoy usando ninguna base de datos ya que todo el trabajo lo hace el php, ya cheque lo del <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> y traté con sus soluciones pero o no lo hice bien o no me funcionó, alguna idea de que hice mal? se los agradecería mucho
  #8 (permalink)  
Antiguo 20/04/2006, 21:55
Avatar de uamistad  
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 19 años, 4 meses
Puntos: 1
En lugar de usar una cabecera desde HTML como lo son las META, trata con una cabecera header() desde PHP.

Es sólo un experimento, quién quita y pega !

Se usa así:

header('Content-Type: text/xml; charset=ISO-8859-1');


__________________
"Di no al Internet Explorer" -Proverbio Chino-
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 02:26.