Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/09/2012, 11:54
arigon69
 
Fecha de Ingreso: septiembre-2012
Ubicación: Chihuahua, Mexico
Mensajes: 48
Antigüedad: 11 años, 8 meses
Puntos: 1
Problema con acentos y ñ en el formulario

Hola gente, despues de leeros mucho estoy encallado en algo que nso como arreglarlo.

He leido sobre el tema pero no soy ningún experto, el caso es que al enviar un formulario no me apareen ni las ñ ni los acentos en el correo, lo de

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

ya lo tengo puesto y nada, he leido algo de la funcion htmlentities() pero no consigo hacer que fucione, os dejo el código para ver que es lo que hago mal.

Gracias!!

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Documento sin título</title>

</head>



<body><?php

function form_mail($sPara$sAsunto$sTexto$sDe)

{

$bHayFicheros 0;

$sCabeceraTexto "";

$sAdjuntos "";



if (
$sDe)$sCabeceras "From:".$sDe."\n";

else 
$sCabeceras "";

$sCabeceras .= "MIME-version: 1.0\n";

foreach (
$_POST as $sNombre => $sValor)

$sTexto $sTexto."\n".$sNombre." = ".$sValor;



foreach (
$_FILES as $vAdjunto)

{

if (
$bHayFicheros == 0)

{

$bHayFicheros 1;

$sCabeceras .= "Content-type: multipart/mixed;";

$sCabeceras .= "boundary=\"--_Separador-de-mensajes_--\"\n";



$sCabeceraTexto "----_Separador-de-mensajes_--\n";

$sCabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1\n";

$sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n";



$sTexto $sCabeceraTexto.$sTexto;

}

if (
$vAdjunto["size"] > 0)

{

$sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n";

$sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";;

$sAdjuntos .= "Content-Transfer-Encoding: BASE64\n";

$sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n";



$oFichero fopen($vAdjunto["tmp_name"], 'r');

$sContenido fread($oFicherofilesize($vAdjunto["tmp_name"]));

$sAdjuntos .= chunk_split(base64_encode($sContenido));

fclose($oFichero);

}

}



if (
$bHayFicheros)

$sTexto .= $sAdjuntos."\n\n----_Separador-de-mensajes_----\n";

return(
mail($sPara$sAsunto$sTexto$sCabeceras));

}



//Ejemplo de como usar:

if (form_mail("[email protected]","Solicitan informacion",

"Los datos introducidos en el formulario son:\n\n""[email protected]"))

echo 
"Su formulario ha sido enviado con éxito, a la mayor brevedad posible nos pondremos en contacto con usted. Gracias por su confianza";

?> 

</body>

</html>