Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/07/2012, 17:39
deqmte
 
Fecha de Ingreso: julio-2012
Ubicación: Buenos Aires
Mensajes: 8
Antigüedad: 11 años, 9 meses
Puntos: 1
Problema con envío de caracteres especiales desde un formulario HTML y PHP

Hola, he buscado en las FAQS antes de postear y como no lo encontré les pido ayuda a Ustedes. Recién estoy comenzando a hacer algunas páginas, el tema es que me pidieron una con un formulario y lo fui haciendo en base a lo que leí en distintas páginas.

El problema es el siguiente:
Tengo el formulario hecho en HTML y un archivo en PHP para enviar la data, el tema es que el texto que carga el visitante dentro de la “caja de texto” cuando es enviado al correo aparece con caracteres raros sin respetar acentos ni ñ.
Copio el código para que puedan ver que es lo que me falta o está mal.

EN EL HTML

<table width="95%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="left"><form name="escribime" method="POST" action="enviar.php">
<label> Nombre y Apellido<br><input name="nombre" type="text" id="nombre" value="ingrese su nombre completo" size="30" maxlength="40" style="font-family: Arial; font-size: 10pt; color: #999999" onClick="javascript: limpia(this);" onBlur="javascript: verifica(this);"></label>
<br>
<br>
<label> Teléfono<br><input name="telefono" type="text" id="telefono" size="30" maxlength="12" value="no deje espacios en blanco" style="font-family: Arial; font-size: 10pt; color: #999999" onClick="javascript: limpi(this);" onBlur="javascript: verific(this);"></label>
<br>
<br>
<label> Dirección de email<br> <input name="email" type="text" id="email" size="30" maxlength="43" value="ingrese su email" style="font-family: Arial; font-size: 10pt; color: #999999" onClick="javascript: limp(this);" onBlur="javascript: verifi(this);"></label>
<br>
<br>
<label> Consulta<br><textarea name="consulta" id="consulta" cols="40" rows="8" style="font-family: Arial; font-size: 10pt; color: #999999"></textarea></label>
<br>
<br>
<label> enviar formulario <input type="submit" name="enviar" id="enviar" value="Enviar"></label>
</form></td>
</tr>
</table>


EN EL PHP

<?php
$nombre = $_POST['nombre'];
$telefono = $_POST['telefono'];
$email = $_POST['email'];
$thank="volver.html";

$header = 'From: ' . $nombre . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje = "Este mensaje fue enviado por " . $nombre . ",
con teléfono número " . $telefono . " \r\n";
$mensaje .= "Su e-mail es: " . $email . " \r\n";
$mensaje .= "Consulta: " . $_POST['consulta'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = '[email protected]';
$asunto = 'contacto desde la página web';

mail($para, utf8_decode($asunto), utf8_decode($mensaje), $header);
echo '<META HTTP-EQUIV="Refresh" CONTENT="0; URL='.$thank.'">';
?>



si en el formulario completo con lo siguiente:

Nombre: José Pérez
Teléfono: 0123456789
Email: [email protected]
Consulta: aún no sé como se hace



llega de la siguiente manera:

CABECERA DEL EMAIL

De: José Pérez (bien)
Asunto: contacto desde página web (bien)


EN EL CUERPO DEL EMAIL
Este mensaje fue enviado por Jos??z, (MAL)
con teléfono número 0123456789 (bien)
Su e-mail es: [email protected] (bien)
Consulta: a?os?ue pasa (MAL)
Enviado el 15/07/2012 (bien)

desde ya muchas gracias.
José