我無法理解爲什麼我無法從服務器答案中獲得正確的ISO-8859-1 charstet。由於這是一個關於遺留代碼的工作,我幾乎無法更改頁面上的字符集編碼。Jquery:ajax發佈和編碼
我利用的jQuery調用
$.post("server-side-code", {t:ctext, i:ioff, sid:sessionid},
function(data, status) {
$('#chk').append(data);
});
張貼textarea的值創建使用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>
服務器端腳本處理請求宣佈在其頂部:
text/html; charset=ISO-8859-1
所以,說實話,我不知道我應該申報什麼,在條款的編碼。儘管如此,重音符號「àèéìòù」反彈爲:將服務器答案的HTML元素
源保存爲ASCII時「一節AA©Ã¬Ã²Ã¹」。 Tryng要做到這一點,對要發佈的變量有基本的Html編碼沒有解決:
ctext = escapeHTML(ctext);
function escapeHTML (str)
{
var div = document.createElement('div');
var text = document.createTextNode(str);
div.appendChild(text);
return div.innerHTML;
};
一些想法?
謝謝!
呃......這太瘋狂了。我不相信。問題解決了,聲明UTF-8服務器端頁面返回對ajax請求的答案。我的意思是:聲明一個不同的字符集,形成在製作ajax請求的頁面中使用的正確字符集。 – Daniel 2009-06-08 15:53:31