Foros del Web » Programando para Internet » PHP »

No se me escriben las tildes ni las eñes al enviar un mail con php

Estas en el tema de No se me escriben las tildes ni las eñes al enviar un mail con php en el foro de PHP en Foros del Web. Hola compañeros, tengo un problema. He diseñado un formulario para enviar un correo. Todo funciona a la perfección excepto que cuando llega el correo, las ...
  #1 (permalink)  
Antiguo 22/06/2009, 12:34
 
Fecha de Ingreso: junio-2009
Mensajes: 3
Antigüedad: 15 años, 5 meses
Puntos: 0
No se me escriben las tildes ni las eñes al enviar un mail con php

Hola compañeros, tengo un problema. He diseñado un formulario para enviar un correo. Todo funciona a la perfección excepto que cuando llega el correo, las eñes y acentos son sustituidos por caracteres extraños, por eejmplo Politécnico, células, dÃ*as, ...

El código es el siguiente

<?php

function genera_texto()
{
$msg= "";
$msg= "Mensaje del formulario de contacto de nnatali.com\n";
$msg.= "Nombre: ".$_POST['nombre']."\n";
$msg.= "Apellidos: ". $_POST['apellidos'];
$msg.= "\nGrado: ". $_POST['grado'];
$msg.= "\nTelefono: ". $_POST['telefono'];
$msg.= "\nExtensión: ". $_POST['extension'];
$msg.= "\nCorreo: ". $_POST['correo'];
$msg.= "\nNombre de la Organizacion: ". $_POST['nombreor'];
$msg.= "\nCalle: ". $_POST['calle'];
$msg.= "\nNumero exterior: ". $_POST['exterior'];
$msg.= "\nNumero interior: ". $_POST['interior'];
$msg.= "\nColonia: ". $_POST['colonia'];
$msg.= "\nDelegacion: ". $_POST['delegacion'];
$msg.= "\nMunicipio: ". $_POST['municipio'];
$msg.= "\nEntidad: ". $_POST['entidad'];
$msg.= "\nPais: ". $_POST['pais'];
$msg.= "\nC.P.: ". $_POST['cp'];
$msg.= "\nTitulo: ". $_POST['titulo'];
$msg.= "\nContexto: ". $_POST['contexto'];
$msg.= "\nProducto: ". $_POST['producto'];
$msg.= "\nImpacto: ". $_POST['impacto'];
$msg.= "\nPatentes relacionadas: ". $_POST['patentes'];
$msg.= "\nEstado del producto: ". $_POST['estado'];
$msg.= "\nNecesidades: ". $_POST['necesidades'];
//$msg.= "Dependencia: ".$_POST['dependencia']."\n";
//$msg.= "\nCargo: ". $_POST['cargor'];
//$msg.= "\nArea: ". $_POST['araer'];


return $msg;
};

function genera_html()
{
$msg= "";
$msg.= "<strong>Nombre:</strong> ".$_POST['nombre']."<br />\n";
$msg.= "<strong>Apellidos:</strong> ". $_POST['apellidos']."<br />\n";
$msg.= "<strong>Grado:</strong>". $_POST['grado']."<br />\n";
$msg.= "<strong>Telefono:</strong>". $_POST['telefono']."<br />\n";
$msg.= "<strong>Extensi&oacute;n:</strong>". $_POST['extension']."<br />\n";
$msg.= "<strong>Correo:</strong>". $_POST['correo']."<br />\n";
$msg.= "<strong>Nombre de la Organizacion:</strong>". $_POST['nombreor']."<br />\n";
$msg.= "<strong>Calle:</strong>". $_POST['calle']."<br />\n";
$msg.= "<strong>Numero exterior:</strong>". $_POST['exterior']."<br />\n";
$msg.= "<strong>Num interior:</strong>". $_POST['interior']."<br />\n";
$msg.= "<strong>Colonia:</strong>". $_POST['colonia']."<br />\n";
$msg.= "<strong>Delegacion:</strong>". $_POST['delegacion']."<br />\n";
$msg.= "<strong>Municipio:</strong>". $_POST['municipio']."<br />\n";
$msg.= "<strong>Entidad:</strong>". $_POST['entidad']."<br />\n";
$msg.= "<strong>Pais:</strong>". $_POST['pais']."<br />\n";
$msg.= "<strong>C.P.:</strong>". $_POST['cp']."<br />\n";
$msg.= "<strong>Titulo:</strong>". $_POST['titulo']."<br />\n";
$msg.= "<strong>Contexto:</strong>". $_POST['contexto']."<br />\n";
$msg.= "<strong>Producto:</strong>". $_POST['producto']."<br />\n";
$msg.= "<strong>Impacto:</strong>". $_POST['impacto']."<br />\n";
$msg.= "<strong>Patentes relacionadas:</strong>". $_POST['patentes']."<br />\n";
$msg.= "<strong>Estado del producto:</strong>". $_POST['producto']."<br />\n";
$msg.= "<strong>Necesidades:</strong>". $_POST['necesidades']."<br />\n";
//$msg.= "Mensaje del formulario de contacto de nnatali.com<br />\n";
//$msg.= "<strong>Dependencia:</strong> ".$_POST['dependencia']."<br />\n";
//$msg.= "<strong>Cargo:</strong>". $_POST['cargor']."<br />\n";
//$msg.= "<strong>Area:</strong>". $_POST['araer']."<br />\n";

return $msg;
};

?>

He visto que en este mismo espacio que recomiendan poner:

$header .= "Content-Type: text/html; charset=UTF-8";

o

$header .= "Content-Type: text/plain; charset=UTF-8";

pero ni con esto dejan de aparecer caracteres extraños, espero alguien me pueda apoyar.

Gracias
  #2 (permalink)  
Antiguo 22/06/2009, 12:35
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: No se me escriben las tildes ni las eñes al enviar un mail con php

Si estas enviando en formato de html puedes usar

htmlentities()

htmlentities($_POST['nombre'])
etc, etc, etc
  #3 (permalink)  
Antiguo 23/06/2009, 07:47
 
Fecha de Ingreso: junio-2009
Mensajes: 3
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: No se me escriben las tildes ni las eñes al enviar un mail con php

quedaría algo así???

$msg.= "<strong>Apellidos:</strong> ".htmlentities($_POST['apellidos'].)"<br />\n";
  #4 (permalink)  
Antiguo 23/06/2009, 07:59
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: No se me escriben las tildes ni las eñes al enviar un mail con php

Pruebalo y me dejas saber
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 12:55.