08/05/2009, 04:47
|
| | | 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? |