2014-01-22 30 views
0

我試圖弄清楚charset是如何工作的。 我通過表單使用ajax發送類似如下的字符串:§test輸出無法識別「§」情況。 這是我的代碼:jQuery charset iso-8859-1錯誤

var messaggio = $("input[name='messaggio']").val(); 
    $.ajax({ 
    url:"js/php/sendchat.php", 
    data:"messaggio="+messaggio, 
    type:"post", 
    contentType:"application/x-www-form-urlencoded; charset=ISO-8859-1", 
    beforeSend: function(jqXHR) { 
    jqXHR.overrideMimeType('application/x-www-form-urlencoded; charset=ISO-8859-1'); 
}, 
    success:function(data){ 
      $("input[name='messaggio']").val(""); 
     $("body").html(data); 
    } 
}); 

這上:sendchat.php

header("Content-Type: text/html; charset=ISO-8859-1"); 

這對指數哪來我的應用程序:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"><head> 
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"/> 
<script type="text/javascript" src="js/chat.js" charset="ISO-8859-1"></script> 

我到底做錯了什麼? 預先感謝您。

+0

究竟怎樣的輸出不能識別'§'?你實際上是否將文件和數據保存爲ISO-8859-1? (說一個文本是ISO-8859-1不會自動生成ISO-8859-1。) –

+0

輸出結果是:測試... 我使用dreawaver cs6,所以我不知道它如何保存文件... – Priya

+0

@Priya執行此操作:1)刪除所有編碼提示。 JavaScript,Meta標籤,Content-Type標頭。 2)然後在瀏覽器中加載頁面。檢查瀏覽器自動檢測的頁面編碼。 (如果頁面看起來不正確,請手動切換編碼,直到沒問題。)3)通過Content-Type頭* *聲明該頁編碼。無處。 – Tomalak

回答

0

試試這個

beforeSend: function(jqXHR) { 
      jqXHR.overrideMimeType("text/html;charset=iso-8859-1"); 
     } 
+0

沒有,但仍是這個輸出:§Test和我寫的是§Test – Priya