Non riesco a capire perché non riesco a ottenere un charstet ISO-8859-1 corretto dalla risposta del server. Essendo questo un lavoro sul codice legacy, difficilmente potrei cambiare la codifica del charset sulle pagine.Jquery: post e codifica ajax
Faccio uso di JQuery chiamare
$.post("server-side-code", {t:ctext, i:ioff, sid:sessionid},
function(data, status) {
$('#chk').append(data);
});
la pubblicazione di un valore di textarea creata 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>
Lo script lato server che elabora la richiesta dichiara al suo superiore:
text/html; charset=ISO-8859-1
quindi, onestamente, non riesco a capire cos'altro dovrei dichiarare, in termini di codifica. Ciò nonostante, i caratteri accentati "àèéìòù" rimbalzano come: "ùÜòù" quando si posiziona la risposta del server in un elemento HTML
La sorgente viene salvata come ascii. Tryng di fare questo per avere la codifica Html rudimentale sulla variabile per essere pubblicato non risolve:
ctext = escapeHTML(ctext);
function escapeHTML (str)
{
var div = document.createElement('div');
var text = document.createTextNode(str);
div.appendChild(text);
return div.innerHTML;
};
Qualche idea?
Grazie!
Beh ... questo è pazzesco. Non posso crederci. Il problema è risolto dichiarando UTF-8 la pagina lato server che restituisce la risposta a una richiesta jax. Voglio dire: dichiarando un set di caratteri che è DIFFERENTE forma il set di caratteri appropriato usato nella pagina che fa la richiesta di ajax. – Daniel