No puedo entender por qué no puedo obtener un charstet ISO-8859-1 correcto de la respuesta del servidor. Siendo esto un trabajo en código heredado, difícilmente podría cambiar la codificación de charset en las páginas.Jquery: publicación ajax y codificación
hago uso de la jQuery llamar
$.post("server-side-code", {t:ctext, i:ioff, sid:sessionid},
function(data, status) {
$('#chk').append(data);
});
publicar un valor área de texto creado usando javascript:
<form accept-charset='ISO-8859-1' method='post'>
<textarea cols='40' rows='8' id='commento'></textarea><br>
<input type='button' value='invia' id='submit'></form>
El script del lado del servidor procesar la solicitud declara en su parte más alta:
text/html; charset=ISO-8859-1
así que, honestamente, no puedo entender qué más debo declarar, en términos de codificación A pesar de esto, los caracteres acentuados "àèéìòù" se recuperan como: "à èà © òù" al colocar la respuesta del servidor en un elemento HTML
La fuente se guarda como ascii. Tryng hacer esto para tener rudimentaria codificación HTML en la variable a ser publicado no resuelve:
ctext = escapeHTML(ctext);
function escapeHTML (str)
{
var div = document.createElement('div');
var text = document.createTextNode(str);
div.appendChild(text);
return div.innerHTML;
};
Alguna idea?
Gracias!
Bueno ... esto es una locura. No puedo creerlo. El problema se resuelve declarando que UTF-8 es la página del servidor que devuelve la respuesta a la solicitud ajax. Quiero decir: declarar un conjunto de caracteres que es DIFERENTE forma el juego de caracteres adecuado utilizado en la página que realiza la solicitud de Ajax. – Daniel