Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/08/2007, 09:09
evilforces
 
Fecha de Ingreso: agosto-2007
Mensajes: 15
Antigüedad: 16 años, 9 meses
Puntos: 0
Problema con funcion mail

Hola a todos!!! Tengo una pagina web en php en la cual hay un formulario de contacto. Resulta que cuando alguien me escribe recibo el correo en mi bandeja de entrada, pero el problema esta en que no muestra ni los acentos ni las eñes ni algunos caracteres especiales..... Se que el problema es la funcion mail, pero ¿hay alguna forma de solucionar esto? Gracias de antemano.

Les pego el codigo para ver si les sirve de ayuda. Como les digo el formulario funciona perfectamente a excepcion de los acentos y eñes.

Código:
<?php


if (!defined('MODULE_FILE')) {
	die ("You can't access this file directly...");
}

require_once("mainfile.php");
$module_name = basename(dirname(__FILE__));
get_lang($module_name);

/**********************************/
/* Configuration                  */
/*                                */
/* You can change this:           */
/* $index = 0; (right side off)   */
/**********************************/
$index = 1;
$subject = "$sitename "._FEEDBACK."";
/**********************************/

include("header.php");
$cookie[0] = intval($cookie[0]);
if ($cookie[1] != "") {
	$row = $db->sql_fetchrow($db->sql_query("SELECT name, username, user_email FROM ".$user_prefix."_users WHERE user_id='$cookie[0]'"));
	if ($row['name'] != "") {
		$sender_name = $row['name'];
	} else {
		$sender_name = $row['username'];
	}
	$sender_email = $row['user_email'];
}

$form_block = "
    <center><font class=\"title\"><b>Mi pagina</b></font>
    <br><br><font class=\"content\">"._FEEDBACKNOTE."</font>
    <FORM METHOD=\"post\" ACTION=\"modules.php?name=$module_name\">
    <P><strong>"._YOURNAME.":</strong><br>
    <INPUT type=\"text\" NAME=\"sender_name\" VALUE=\"$sender_name\" SIZE=30></p>
    <P><strong>"._YOUREMAIL.":</strong><br>
    <INPUT type=\"text\" NAME=\"sender_email\" VALUE=\"$sender_email\" SIZE=30></p>
    <P><strong>"._MESSAGE.":</strong><br>
    <TEXTAREA NAME=\"message\" COLS=70 ROWS=15 WRAP=virtual>$message</TEXTAREA></p>
    <INPUT type=\"hidden\" name=\"opi\" value=\"ds\">
    <P><INPUT TYPE=\"submit\" NAME=\"submit\" VALUE=\""._SEND."\"></p>
    </FORM></center>
";

OpenTable();
if ($opi != "ds") {
	echo "$form_block";
} elseif ($opi == "ds") {
	if ($sender_name == "") {
		$name_err = "<center><font class=\"option\"><b><i>"._FBENTERNAME."</i></b></font></center><br>";
		$send = "no";
	}
	if ($sender_email == "") {
		$email_err = "<center><font class=\"option\"><b><i>"._FBENTEREMAIL."</i></b></font></center><br>";
		$send = "no";
	}
	if ($message == "") {
		$message_err = "<center><font class=\"option\"><b><i>"._FBENTERMESSAGE."</i></b></font></center><br>";
		$send = "no";
	}

	if ($send != "no") {

	 	$sender_name = $sender_name;
		$sender_email = $sender_email;
		$msg = "mipaginaweb.com\n\n";
		$msg .= ""._SENDERNAME.": $sender_name\n";
		$msg .= ""._SENDEREMAIL.": $sender_email\n";
		$msg .= ""._MESSAGE.": $message\n\n";
		$to = $adminmail;
		$mailheaders = "From: $sender_name <$sender_email>\n";
		$mailheaders .= "Reply-To: $sender_email\n\n";

		mail($to, $subject, $msg, $mailheaders);
		echo "<P><center>"._FBMAILSENT."</center></p>";
		echo "<P><center>"._FBTHANKSFORCONTACT."</center></p>";
	} 




	elseif ($send == "no") {
		OpenTable2();
		echo "$name_err";
		echo "$email_err";
		echo "$message_err";
		CloseTable2();
		echo "<br><br>";
		echo "$form_block";
	}
}

CloseTable();
include("footer.php");

?>
Por si les sirve de algo, esto es lo que me llega a mi correo cuando escribo en el formulario las palabras eñe camión camiòn:

Mensaje: e&ntilde;e camión cami&ograve;n<br />


Al parecer los acentos normales si que los escribe bien, pero los acentos abiertos, y las eñes no. ¿Alguna sugerencia?

Última edición por evilforces; 12/09/2007 a las 04:37