Problema de acentos en formulario PHP y Flash

bobo
07 de Julio del 2005
Hola.

Tengo un formulario hecho en Flash que pasa los datos a un php el cual envía un mail con los datos recibidos al admnistrador y otro mail de confirmación al usuario que ha rellenado el formulario.
Después de esto el php envía una variable al flash confirmando que los datos han sido enviados.
Por ahora todo correcto, los datos y ambos mails llegan a su destino.
El problema que tengo es el de los acentos. Es del tipo: "fernando acentós" donde debería mostrar: "fernando acentós".

He estado buscando la solución por internet y según creo el problema es con el charset y la codificación de caracteres en español.
El servidor en el que está alojada la página tiene:

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

Lo he obtenido mirando el código fuente de su página (ver/codigo fuente en la barra del esplorador) y además según he leido por internet la tendencia es que en los nuevos servidores Linux se utiliza utf-8 y la empresa que aloja la página los acaba de cambiar.


En la página que tiene el formulario, así como en todas las que conforman el sitio web, he puesto ese mismo meta.

No soy programador en php y no sé muy bien dónde y cómo colocar la variable de $headers para decirle que envíe los datos mediante utf-8. Del mismo modo ignoro si en el formulario de flash debería decirle también que las variables las codifique en ese formato.

Adjunto el código php y el del fotograma de flash que ejecuta la orden enviar.

---------- el php :

<?

/******************************************************
**
** PHP Mailer 2.0
**
** This script is easy to configure. Just change the variables below to
** suit your environment and PHP does the rest!
**
** http://www.bigjolt.com
**
*******************************************************/

/*******************************************************

Enter your site details below!

*******************************************************/

// Enter your contact email address here
$adminaddress = "[email protected]";

// Enter the address of your website here include http://www.
$siteaddress ="http://www.midominio.com/mailform.php";

// Enter your company name or site name here
$sitename = "LAEMPRESAENCUESTIÓN";

/*******************************************************

No need to change anything below ...

*******************************************************/

$headers = "Content-Type:text/html; charset=utf-8";

// Gets the date and time from your server
$date = date("d/m/Y H:i:s");

// Gets the IP Address
if ($REMOTE_ADDR == "") $ip = "no ip";
else $ip = getHostByAddr($REMOTE_ADDR);

//Process the form data!
// and send the information collected in the Flash form to Your nominated email address
if ($action != ""):
mail("$adminaddress","$fname",
"Consulta recibida en $sitenamen
Nombre de la empresa: $cname
Nombre de la persona: $fname
Puesto de trabajo: $lname
E-mail: $email
Teléfono: $telnon
Asunto: $asunton
Mensaje:
------------------------------
$comments

------------------------------
Fecha/Hora: $date","FROM:$adminaddress","$headers");

//This sends a confirmation to your visitor
mail("$email","Gracias por visitar $sitename",
"Hola $fname,n
Su consulta ha sido recibida.
En breve contestaremos a su petición.

$sitename
$siteaddress","FROM:$adminaddress");

//Confirmation is sent back to the Flash form that the process is complete
$sendresult = "Su consulta ha sido recibida.
En breve contactaremos con usted.
LAEMPRESAENCUESTIÓN
";
$send_answer = "answer=";
$send_answer .= rawurlencode($sendresult);
echo "$send_answer";

endif;

?>


--------------------------------------------------------------------------------FIN PHP



-------------- el flash:

fscommand("allowscale", "false");
//
// set some variables
//
mailform = "mailform.php";
//confirm = "Por favor, espere confirmación.";
action = "send";
//
// and focus on variable fname
//
Selection.setFocus("fname");
//
// validate email function
//
function validate(address) {
if (address.length>=7) {
if (address.indexOf("@")>0) {
if ((address.indexOf("@")+2)<address.lastIndexOf(".")) {
if (address.lastIndexOf(".")<(address.length-2)) {
return (true);
}
}
}
}
return (false);
}
//
//form check
//
function formcheck() {
if ((((email == null)) || (email.length<1)) || (email == "ERROR! Address not valid")) {
email = "ERROR! Campo necesario";
action = "";
_root.scrollingClip._y=235;
_root.barra.scroll_knob._y=14.1;
}
if (!validate(email)) {
email = "ERROR! Dirección no válida";
action = "";
_root.scrollingClip._y=235;
_root.barra.scroll_knob._y=14.1;
}
if (fname == null) {
fname = "ERROR! Campo necesario";
action = "";
_root.scrollingClip._y=235;
_root.barra.scroll_knob._y=14.1;
}
if ((validate(email)) && (email != "ERROR!") && (fname != "") && (fname != null)) {
action = "send";
loadVariablesNum(mailform, 0, "POST");
System.useCodePage = true;
this.gotoAndPlay("wait");
_parent.gotoAndPlay("wait2");
}
}
stop();


--------------------------------------------------------------------FIN FLASH



Tengo que cambiar algunas cosas para terminar de adaptarlo a las necesidades. Pero por ahora el problema que me preocupa es el de los acentos.
Los datos y los correos llegan perfectamente a su destinatario.

Gracias por adelantado.