Foros del Web » Programando para Internet » PHP »

problema con ñ y acentos en formulario contacto

Estas en el tema de problema con ñ y acentos en formulario contacto en el foro de PHP en Foros del Web. buenas comunidad, tengo un formulario de contacto, y envia correctamente el mail. El problema está en las eñes y acentos. El formulario llama a enviar.php ...
  #1 (permalink)  
Antiguo 28/04/2013, 17:17
 
Fecha de Ingreso: enero-2012
Mensajes: 30
Antigüedad: 12 años, 3 meses
Puntos: 1
problema con ñ y acentos en formulario contacto

buenas comunidad, tengo un formulario de contacto, y envia correctamente el mail.
El problema está en las eñes y acentos.
El formulario llama a enviar.php

enviar.php

<?php


$to = "Prueba <[email protected]>";
$subject = $_POST['asunto'];
$nombre = $_POST['nombre'];
$telefono = $_POST['tel'];
$from = $_POST['email'];
$mensaje = $_POST['comentario'];
mysql_query("SET NAMES utf8");
$hoy = date ("d F Y");

$message = "\t\t\t$hoy\n\n";


$message = $message . "Asunto: $subject\n";
$message = $message . "E-Mail: $from\n";
$message = $message . "Nombre: $nombre\n";
$message = $message . "Telefono: $telefono\n";
$message = $message . "Comentario: $mensaje\n\n";

$headers = "From: $Nombre <$from>\r\n";
$headers .= "Reply-To: $Nombre <$from>\r\n";

if ( mail($to,$subject,$message,$headers) )
{
Header("Location: enviado.htm");
}
else
{
Header("Location: error.htm");
}
?>

gracias, espero vuestras respuestas
  #2 (permalink)  
Antiguo 28/04/2013, 19:09
Avatar de Most  
Fecha de Ingreso: marzo-2009
Mensajes: 642
Antigüedad: 15 años, 1 mes
Puntos: 6
Respuesta: problema con ñ y acentos en formulario contacto

debes usar este meta para que te reconozca los caracteres españoles:

<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1" />


Código PHP:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1" />
</head>
</html>

<?php

$to 
"Prueba <[email protected]>";
$subject $_POST['asunto'];
$nombre $_POST['nombre'];
$telefono $_POST['tel'];
$from $_POST['email'];
$mensaje $_POST['comentario'];
mysql_query("SET NAMES utf8");
$hoy date ("d F Y");

$message "\t\t\t$hoy\n\n";


$message $message "Asunto: $subject\n";
$message $message "E-Mail: $from\n";
$message $message "Nombre: $nombre\n";
$message $message "Telefono: $telefono\n";
$message $message "Comentario: $mensaje\n\n";

$headers "From: $Nombre <$from>\r\n";
$headers .= "Reply-To: $Nombre <$from>\r\n";

if ( 
mail($to,$subject,$message,$headers) )
{
Header("Location: enviado.htm");
}
else
{
Header("Location: error.htm");
}
?>

Última edición por Most; 28/04/2013 a las 19:15
  #3 (permalink)  
Antiguo 29/04/2013, 01:55
 
Fecha de Ingreso: enero-2012
Mensajes: 30
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: problema con ñ y acentos en formulario contacto

Lo acabo de probar... y sigue igual !!
Me escribe mal las eñes y acentos...
Alguna sugerencia mas?

graciassss

Saludos desde España, Nuria
  #4 (permalink)  
Antiguo 29/04/2013, 03:25
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años, 1 mes
Puntos: 28
Respuesta: problema con ñ y acentos en formulario contacto

Vamos a ver, prueba así:

Código HTML:
Ver original
  1. <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
  2. </head>
  3.  
  4.  
  5. <?php
  6.  
  7. $to = "Prueba <[email protected]>";
  8. $subject = $_POST['asunto'];
  9. $nombre = $_POST['nombre'];
  10. $telefono = $_POST['tel'];
  11. $from = $_POST['email'];
  12. $mensaje = $_POST['comentario'];
  13. mysql_query("SET NAMES utf8");
  14. $hoy = date ("d F Y");
  15.  
  16. $message = "\t\t\t$hoy\n\n";
  17.  
  18.  
  19. $message = $message . "Asunto: $subject\n";
  20. $message = $message . "E-Mail: $from\n";
  21. $message = $message . "Nombre: $nombre\n";
  22. $message = $message . "Telefono: $telefono\n";
  23. $message = $message . "Comentario: $mensaje\n\n";
  24.  
  25. $headers = "From: $Nombre <$from>\r\n";
  26. $headers .= "Reply-To: $Nombre <$from>\r\n";
  27.  
  28. if ( mail($to,$subject,$message,$headers) )
  29. {
  30. Header("Location: enviado.htm");
  31. }
  32. else
  33. {
  34. Header("Location: error.htm");
  35. }
  36. ?>
  37.  
  38. </html>
En caso de que te siga sin funcionar, con el editor que tengas de páginas, busca en sus propiedades la codificación del fichero y le dices también UTF-8.
  #5 (permalink)  
Antiguo 29/04/2013, 04:30
Avatar de Most  
Fecha de Ingreso: marzo-2009
Mensajes: 642
Antigüedad: 15 años, 1 mes
Puntos: 6
Respuesta: problema con ñ y acentos en formulario contacto

prueba si no, a ponerlo en el formulario, ya que si el formulario ya lo manda con carácter extraño, el php lo cojera así ya.
  #6 (permalink)  
Antiguo 29/04/2013, 08:38
 
Fecha de Ingreso: julio-2008
Mensajes: 14
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: problema con ñ y acentos en formulario contacto

A ver, creo que lo de
Código:
mysql_query("SET NAMES utf8");
no hace nada aquí!
Creo que una solución es añadir al header:

Código PHP:
$headers .= "Content-Type: text/html; charset = UTF-8 \n"
también te recomiendo agregar lo siguente:

Código PHP:
$headers .= "X-Mailer:PHP/".phpversion()."\n";
$headers .= "Mime-Version: 1.0\n"
de forma que te quedaria así:

Código PHP:
$headers "From: $Nombre <$from>\r\n";
$headers .= "Reply-To: $Nombre <$from>\r\n";
$headers .= "X-Mailer:PHP/".phpversion()."\n";
$headers .= "Mime-Version: 1.0\n";
$headers .= "Content-Type: text/html; charset = UTF-8 \n"
Espero que te sirva!
  #7 (permalink)  
Antiguo 30/04/2013, 01:40
 
Fecha de Ingreso: enero-2012
Mensajes: 30
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: problema con ñ y acentos en formulario contacto

SIGUE SIN FUNCIONAR!!

Alguna ayuda mas?

gracias

saludos nuria
  #8 (permalink)  
Antiguo 30/04/2013, 01:45
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años, 1 mes
Puntos: 28
Respuesta: problema con ñ y acentos en formulario contacto

A ver Nuria, coge el archivo donde tienes el formulario y también el enviar.php

Abre dichos archivos con el programa de edición HTML que estés utilizando y cambia la codificación de los archivos a UTF-8 desde Archivo->Codificación o Archivo->Propiedades->Codificación.
  #9 (permalink)  
Antiguo 30/04/2013, 01:50
 
Fecha de Ingreso: enero-2012
Mensajes: 30
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: problema con ñ y acentos en formulario contacto

La codificacion de las paginas es UTF-8

pero no me funciona.... q puedo hacer?
  #10 (permalink)  
Antiguo 30/04/2013, 01:59
Avatar de the_sheriff_pino  
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 11 años
Puntos: 0
Respuesta: problema con ñ y acentos en formulario contacto

Cambia la codificación por iso-8859-1!

Un saludo!
  #11 (permalink)  
Antiguo 30/04/2013, 02:03
 
Fecha de Ingreso: enero-2012
Mensajes: 30
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: problema con ñ y acentos en formulario contacto

no funciona. creo q falta algo en codigo enviar.php
  #12 (permalink)  
Antiguo 30/04/2013, 02:12
Avatar de the_sheriff_pino  
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 11 años
Puntos: 0
Respuesta: problema con ñ y acentos en formulario contacto

El problema que es que al recoger lo que envías, no te muestra ñ y acentos? o en el mismo formulario de enviar?
  #13 (permalink)  
Antiguo 30/04/2013, 02:15
 
Fecha de Ingreso: enero-2012
Mensajes: 30
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: problema con ñ y acentos en formulario contacto

el problema reside al recoger lo enviado.
lo envia bien al correo, pero al abrir el correo las palabras q tienen acentos, sales cosas raras
  #14 (permalink)  
Antiguo 30/04/2013, 02:48
Avatar de the_sheriff_pino  
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 11 años
Puntos: 0
Respuesta: problema con ñ y acentos en formulario contacto

y el correo lo abres desde gmail o outlook normal o desde otro formulario que hayas creado tu?
  #15 (permalink)  
Antiguo 30/04/2013, 12:31
 
Fecha de Ingreso: enero-2012
Mensajes: 30
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: problema con ñ y acentos en formulario contacto

lo abro desde webmail, q es el correo de mi provedor de internet,
si lo mando desde gmail si lo lo hace bien, pero si lo hago desde el formlario de mi web es cuando da el error

Etiquetas: acentos, contacto, formulario, mysql
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 15:18.