PHP - problema de caracteres y acentos al recibir mail con php

 
Vista:
sin imagen de perfil
Val: 20
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

problema de caracteres y acentos al recibir mail con php

Publicado por Ricardo (11 intervenciones) el 28/10/2019 14:55:23
Buenos días a todos.

Quisiera saber si alguien sabe como puedo hacer para que un mensaje que se envía con PHP Mail, me reconozca los caracteres especiales como la ñ y los acentos al momento de recibir el correo.

el código que tengo es el siguiente y al recibir el correo tengo problemas con la ñ y los acentos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$sql="SELECT * FROM tabla_usuarios where acc_not_email_sol='1' ";
$rec=mysqli_query($conex,$sql);
while($row=mysqli_fetch_array($rec))
{
    $email .= $row['email'].", ";
}
 
 
$para       =   $email;
$asunto     =   'SDM'.' '.$num_sol.' '.'CC'.' '.$cc.' '.$nom_cc ;
$mensaje    =   'Estimados, Se ha cargado una nueva solicitud en la Plataforma<br>';
$mensaje    .=  ' '.'<br>';
$mensaje    .=  'CC:'.' '.$cc.'<br>';
$mensaje    .=  'Nombre CC:'.' '.$nom_cc.'<br>';
$mensaje    .=  'Numero Solicitud:'.' '.$num_sol.'<br>';
$mensaje    .=  'Generada por:'.' '.$nom_usu.'<br>';
$mensaje    .=  ' '.'<br>';
$mensaje    .=  'Comentarios:'.' '.$obs_sol.'<br>';
$mensaje    .=  ' '.'<br>';
 
$cabeceras = 'From: ricardoccd@gmail.com' . "\r\n" .
    'Reply-To: EMAIL@gmail.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
$cabeceras .= 'MIME-Version: 1.0' . "\r\n";
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
 
mail($para, $asunto, utf8_encode($mensaje), $cabeceras);
 
if(mail){
    echo "Mensaje Enviado";
} else {
    echo "Mensaje no enviado";
}

Agradecido de quien pueda ayudarme. Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

problema de caracteres y acentos al recibir mail con php

Publicado por joel (1269 intervenciones) el 28/10/2019 15:20:56
Hola Ricardo, que codificación tiene tu tabla tabla_usuarios

Estas obteniendo los valores de la tabla usuario y los estas enviando con el formato iso-8859-1... si tu tabla no tiene el mismo character set, ahí puedes tener el problema.
https://dev.mysql.com/doc/refman/5.7/en/show-character-set.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 20
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

problema de caracteres y acentos al recibir mail con php

Publicado por Ricardo (11 intervenciones) el 28/10/2019 16:31:10
Hola Joel, ya verifiqué la base de datos y ahí no está el problema, ya que probé con texto que no proviene de la tabla y ocurre lo mismo. El problema está en el código PHP al parecer. Probé tambien reemplazar charset=iso-8859-1 por charset=UTF-8, y tampoco resultó. Algo debe faltar agregar a mi código.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 20
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

problema de caracteres y acentos al recibir mail con php

Publicado por Ricardo (11 intervenciones) el 28/10/2019 18:01:10
Ya encontré la solución.

en línea 27, reemplacé utf8_encode por utf8_decode, lo que permite que el mensaje recibido por correo reconozca los caracteres especiales utf8.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

problema de caracteres y acentos al recibir mail con php

Publicado por joel (1269 intervenciones) el 28/10/2019 18:19:55
Gracias por comentarlo Ricardo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar