Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/05/2009, 04:47
Avatar de ken_masters
ken_masters
 
Fecha de Ingreso: febrero-2005
Mensajes: 422
Antigüedad: 19 años, 9 meses
Puntos: 5
Problema de tildes en formularios

Hola!

Tengo armado un contact.php, el cual me da problemas si escribo desde él palabras que contengan tildes, al llegar el mail se muestran símbolos estraños.

Según he leído, se debe a la codificación usada en la aplicación con la que se creó el documento php, dando la UTF8 esta serie de problemas. Por ello, he cambiado el charset a "iso-8859-1" que es con el que mejor se llevan los navegadores, si no me equivoco. Pero no ha surgido efecto.

El código del php es el siguiente:

<?php
//-----------------Getting data sent by flash---------------------
foreach ($_POST as $key => $value){

if ($key != 'mail_to' && $key != 'smtp_server' && $key != 'smtp_port' && $key != 'mail_from' && $key != 'mail_subject' && $key != 'plain_text'){

$mail_body .= '<b>'.str_replace('_',' ',$key).'</b>:<br/>';

$mail_body .= ''.stripslashes($value).'<br/>';
}
}
//-----------------------------------------------------------------



$message = '<html><body>'.$mail_body.'</body></html>'; // mail body

//------------if plain text is set to true removing html tags------
if ($_POST['plain_text']=='true') {

$message = str_replace('<br/>',"\r\n", $message);

$message = strip_tags($message);

//------------------------------------------------------------------
} else {
//----otherwise composing message headers---------------------------
$headers = 'MIME-Version: 1.0' . "\r\n";

$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
//------------------------------------------------------------------
}

//------------setting conf data-------------------------------------
$to = $_POST['mail_to'];

$from = $_POST['mail_from'];

$subject = $_POST['mail_subject'];

$smtp_server = $_POST['smtp_server'];

$smtp_port = $_POST['smtp_port'];
//------------------------------------------------------------------

//---------setting header info--------------------------------------


$headers .= 'From:' .$from;
//------------------------------------------------------------------


if (mail($to, $subject, $message, $headers)){ // sending mail

print('&mail=1'); //succes

} else {

print('&mail=0');//failure

}

?>
__________________
Here comes a new challenger?