PHP - Problemas con los acentos al enviar correos

   
Vista:

Problemas con los acentos al enviar correos

Publicado por Unexes (124 intervenciones) el 16/08/2015 03:31:13
Mi problema es que desde el contacto de mi página footer.php al enviar un correo lo recibo con los acentos mal, así que me explicare y pondré el código para ver si me podéis ayudar.

Si entro normalmente desde el index.php y se carga la pagina del footer.php el correo llega mal, en cambio si entro directamente a la página footer.php y envió un correo llega bien.

He probado a ponerle al index.php <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> y entonces envía el correo bien pero en ese caso la página index.php se ve con todos los acentos mal, también he probado a poner en la página footer.php al principio:
<?php header('Content-Type: text/html; charset=iso-8859-1')?>; y me da el siguiente error;
1
( ! ) Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\Tu Zona Publicidad\index1.php:83) in C:\wamp\www\Tu Zona Publicidad\Footer.php on line 1

He buscado en la red y he probado varias cosas pero no he encontrado la forma, ¿Alguien sabe como solucionarlo y me puede ayudar.?

Mi INDEX.PHP reducido a lo necesario queda así:
1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
</head>
 
<body>
		<footer-index>
        	<?php require_once ("Footer.php"); ?>
		</footer-index>
</body>
</html>
Y este es el FOOTER.PHP donde esta el código para enviar el correo, que funciona bien excepto por el tema de los acentos, tambien lo he reducido.
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<!DOCTYPE html>
<html>
<head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <link rel="stylesheet" href="css/footer.css" type="text/css" media="screen">
        <link rel="stylesheet" href="css/contacto.css" type="text/css" media="screen">
</head>
    <body>
        	<div id="Formulario">
            <?php
                 $error    = '';
                 $nombre     = '';
                 $email    = '';
				 $telefono    = '';
                 $subject  = '';
                 $mensaje  = '';
            if(isset($_POST['enviar']))
            {
                 $nombre     = $_POST['nombre'];
                 $email    = $_POST['email'];
				 $telefono    = $_POST['telefono'];
                 $subject  = $_POST['subject'];
                 $mensaje  = $_POST['mensaje'];
               	if(trim($nombre) == '')
                {
                    $error = '<div class="mensusuario">Por favor escriba su nombre!</div>';
                }
            	    else if(trim($email) == '')
                {
                    $error = '<div class="mensusuario">Por favor indique su dirección E-mail!</div>';
                }
                else if(!FunEmail($email))
                {
                    $error = '<div class="mensusuario">Su e-mail no es correcto, por favor escríbalo de nuevo!!</div>';
                }
            	    if(trim($subject) == '')
                {
                    $error = '<div class="mensusuario">Indique el asunto del mensaje!</div>';
                }
            	else if(trim($mensaje) == '')
                {
                    $error = '<div class="mensusuario">Escribe su mensaje!</div>';
                }
	            if($error == '')
                {
                    if(get_magic_quotes_gpc())
                    {
                        $mensaje = stripslashes($mensaje);
                    }
                    $to      = "comercial@tuzonapublicidad.com";//Direccion donde se dirige el correo
 
                    $subject = '[Contacto desde Tu Zona Publicidad] : ' . $subject;
 
                    $msg     = "De: $nombre \r\nE-mail: $email \r\nTeléfono: $telefono \r\nSubject : $subject \r\n\n" . "Mensaje: \r\n$mensaje";
 
                    mail($to, $subject, $msg, "From: $email\r\nReply-To: $email\r\nReturn-Path: $email\r\n");
            ?>
<?php
                }
            }
 
            if(!isset($_POST['enviar']) || $error != '')
            {
?>
  <div id="MensajeError"><?=$error;?></div>
  <form action="" method="Post" name="Form1" id="Form1">
BLA, BLA, BLA
  </form>
</div>
</body>
</html>
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