Muy buenas, me presento, soy Carlos, ésta es mi web: www.carlofotografo.com y quiero poner en mi página web un formulario flash-php, el problema es que cuando lo pongo, me deja escribir con acentos y ñ pero al recibir el formulario no aparecen ni los acentos ni las eñes, en su lugar aparecen extraños símbolos. Teneis un ejemplo de cómo es dicho formulario en la web de un amigo www.luisrivera.es, en el que por cierto, también tiene ese problema.

Supongo que será un fallo de codificación puesto que antes de registrarme he indagado en el foro, pero veo que para cada caso es distinto y no sé como adaptar la solución a mi caso.

El código del php es el siguiente:

<?PHP
$to = "[email protected]";
$subject = "Formulario contacto";
$e = $_POST['Email_txt'];
$message = "Nombre: " . $_POST['Nombre_txt'];
$message .= "\nEmail: " . $e;
$message .= "\nTf: " . $_POST['Tf_txt'];
$message .= "\n\nMensaje: " . $_POST['Mensaje_txt'];
$headers = "From: $e";
$headers .= "\nReply-To: $e";
$sentOk = mail($to,$subject,$message,$headers);
echo "sentOk=" . $sentOk;
?>




y el del scrip del archivo fla éste:

//EMBED DYNAMIC FONTS
Nombre_txt.embedFonts = true;
Email_txt.embedFonts = true;
Tf_txt.embedFonts = true;
Mensaje_txt.embedFonts = true;

//INITIAL TEXT IN TEXT BOXES
Nombre_txt.text = "";
Email_txt.text = "";
Tf_txt.text = "";
Mensaje_txt.text = "";
status_txt.text = "";

//TABS
Nombre_txt.tabIndex = 0;
Email_txt.tabIndex = 1;
Tf_txt.tabIndex = 2;
Mensaje_txt.tabIndex = 3;
send_mc.tabIndex = 4;
clear_mc.tabIndex = 5;

//SEND ACTIONS

//ASTERICKS TO MARK WHAT NEEDS TO BE CORRECTED
NombreBlank_mc._visible = false;
EmailBlank_mc._visible = false;
TfBlank_mc._visible = false;
MensajeBlank_mc._visible = false;

//LOADVARS
var senderLoad:LoadVars = new LoadVars();
var receiveLoad:LoadVars = new LoadVars();

//SEND ON RELEASE FUNCTION
send_mc.onRelease = function():Void {
//HIDE ASTERICKS IN BEGINNING
NombreBlank_mc._visible = false;
EmailBlank_mc._visible = false;
TfBlank_mc._visible = false;
MensajeBlank_mc._visible = false;
//SET STATUS TO BLANK
status_txt.text = "";
//LOAD TEXT FOR SENDERLOAD
senderLoad.Nombre_txt = Nombre_txt.text;
senderLoad.Email_txt = Email_txt.text;
senderLoad.Tf_txt = Tf_txt.text;
senderLoad.Mensaje_txt = Mensaje_txt.text;
//IF ANY TEXT FIELD IS BLANK OF INCORRECT, RETURN A FALSE
if (Nombre_txt.text == "") {
NombreBlank_mc._visible = true;
status_txt.text = "Introduzca su nombre";
} else if (Email_txt.text == "") {
EmailBlank_mc._visible = true;
status_txt.text = "Introduzca su email";
//IF EMAIL IS INVALID RETURN A FALSE (CODE FOR EMAIL
//EMAIL VALIDATION IS LOCATED BELOW
} else if (Email_txt.text.emailValidation() == false) {
EmailBlank_mc._visible = true;
status_txt.text = "Email incorrecto";
} else if (Tf_txt.text == "") {
TfBlank_mc._visible = true;
status_txt.text = "Introduzca su telefono";
} else if (Mensaje_txt.text == "") {
MensajeBlank_mc._visible = true;
status_txt.text = "Introduzca su mensaje";
} else {
//IF ALL TEXT FIELDS ARE VALID, THEN SEND AND LOAD CONTACT.PHP
senderLoad.sendAndLoad("contact.php", receiveLoad);
}
};

//FUNCTION TO CHECK IF FORM IS SENT
receiveLoad.onLoad = function():Void {
if (this.sentOk) {
Nombre_txt.text = "";
Email_txt.text = "";
Tf_txt.text = "";
Mensaje_txt.text = "";
status_txt.text = "Mensaje enviado. Gracias.";
} else {
status_txt.text = "Error al enviar el mensaje";
}
};

//CLEAR BUTTON
clear_mc.onRelease = function():Void {
Nombre_txt.text = "";
Email_txt.text = "";
Tf_txt.text = "";
Mensaje_txt.text = "";
status_txt.text = "";
NombreBlank_mc._visible = false;
EmailBlank_mc._visible = false;
TfBlank_mc._visible = false;
MensajeBlank_mc._visible = false;
};

//EMAIL VALIDATION
String.prototype.emailValidation = function() {
//check to see if atleast 5 characters
if (this.length < 5) {
return false;
}
//Check to see if there are illegal characters within the email
invalidChars = "`!#$%^&*()[]{}|:;'\",<>";
for (i=0; i<this.length; i++) {
if (invalidChars.indexOf(this.charAt(i)) != -1) {
return false;
}
}
//Check to see if the symbol @ is present, and
//if its in a valid postition
at = this.lastIndexOf("@");
if (at<1 || (at == this.length-1)) {
return false;
}
//Check to see if a period is present and if
//its in a valid position
period = this.lastIndexOf(".");
if (period<4 || (period == this.length-1)) {
return false;
}
//Check to see if the @ symbol and period are
//within their valid positions.
if (1>=period-at) {
return false;
}
//Check to see if there are no two periods or
//@ symbols in a row
for (i=0; i<this.length; i++) {
if ((this.charAt(i) == "." || this.charAt(i) == "@") && this.charAt(i) == this.charAt(i-1)) {
return false;
}
}
return true;
}

//BUTTONS

//ON ROLLOVER
clear_mc.onRollOver = function() {
clear_mc.gotoAndStop("over");
}
send_mc.onRollOver = function() {
send_mc.gotoAndStop("over");
}

//ON ROLLOUT
clear_mc.onRollOut = function() {
clear_mc.gotoAndStop("out");
}
send_mc.onRollOut = function() {
send_mc.gotoAndStop("out");
}




Agradecido de antemano, y esperando solución de los entendidos, recibid saludos cordiales.