Hola. A ver si me pueden ayudar porfa.
Tengo este código de ajax que me envia un formulario.
Código:
function enviarFormulario(url, formid)
{
var Formulario = document.getElementById(formid);
var longitudFormulario = Formulario.elements.length;
var cadenaFormulario = ""
var sepCampos
sepCampos = ""
for (var i=0; i <= Formulario.elements.length-1;i++)
{
cadenaFormulario += sepCampos+Formulario.elements[i].name+'='+encodeURIComponent(Formulario.elements[i].value);
sepCampos="&";
}
var peticion = nuevoAjax();
peticion.open("POST", url, true);
peticion.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
peticion.onreadystatechange = function ()
{
if (peticion.readyState == 4)
{
document.getElementById('frmmsg').innerHTML = peticion.responseText;
}
}
peticion.send(cadenaFormulario);
}
y estoy enviando un formulario con un area de texto, luego en la url especificada recibo la variable con $_POST['areatexto'] en donde la concateno con un string sql para insertar los datos.....todo bien...hasta que intento insertar una Ñ o parabras que contengan tildes.
Las ñ las transforma en ñ.
No he podido arreglarlo a pesar que he leido que se debe usar encodeURIComponent() tal como lo estoy haciendo...
también he probado cambiando la línea:
peticion.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1');
y
peticion.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');
Alguien me ayuda porfa ?