Tengo este código de ajax que me envia un formulario.
Código:
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.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); }
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 ?