解決JS請求伺服器gbk檔案亂碼的問題,jsgbk

來源:互聯網
上載者:User

解決JS請求伺服器gbk檔案亂碼的問題,jsgbk

JS擷取伺服器編碼格式為gb2312的檔案時內容為亂碼,ajax網路請求內部使用的是XMLHttpRequest,所以在請求之前需要設定一下編碼格式,但是設定xhr.setRequestHeader("accept", "text/csv;charset=gb2312,*/*");沒有效果,只有設定xhr.overrideMimeType("text/csv;charset=gb2312");才正確,代碼如下:

<span style="font-size:18px;">$.ajax({     type: "get",     url:"http://7xnhdv.com1.z0.glb.clouddn.com/test1.csv",     beforeSend: function(xhr) {  //beforeSend定義全域變數      //  xhr.setRequestHeader("accept", "text/csv;charset=gb2312,*/*");       xhr.overrideMimeType("text/csv;charset=gb2312");     },     success: function(xmlDoc, textStatus, xhr)      {       if(xhr.status == 200)       {         $('#view0').text(xmlDoc);       }     }   }   );</span> 

overrideMimeType作用將覆蓋發送給伺服器的頭部,強制text/csv;charset=gb2312作為 mime-type。

ps:js中文顯示亂碼或在頁面顯示亂碼解決方案

 ①.js 檔案中文顯示亂碼

Javascript檔案XX.js編輯儲存時有一種編碼方案(如GBK),當開啟檔案的時候所用的編碼(如UTF-8)和儲存時的編碼方案不一致時,則會出現中文顯示亂碼。

解決方案:

(1) 用編輯器開啟瀏覽的時候,選擇和原檔案編碼(如GBK)一致的編碼方式查看,則不會出現亂碼;

(2)在eclipse中的package explorer中選中亂碼的XX.js,右鍵菜單中選擇properties,在Text file encoding中選擇與XX.js編輯儲存時的編碼(如GBK),則可以正常顯示;

②網站頁面中JavaScript中中文欄位亂碼

在eclipse或者編輯器中XX.js中中文顯示正常,在頁面調用XX.js,執行後頁面結果中中文欄位顯示亂碼。

解決方案:

在引用XX.js的頁面上“顯示”加上XX.js檔案的編碼方式,使之與XX.js檔案的本身的編碼方式(如GBK)保持一致。

<script type="text/javascript" language="JavaScript" src="/js/XX.js" charset=“GBK”></script>

建議:

(1)在用Eclipse或者Myeclipse建立XX.js,進行編輯時,建議先將Text file encoding改為UTF-8,然後進行編輯儲存。
(2)用文字文件或者其他編輯器編輯儲存XX.js, 建議以UTF-8的編碼方式儲存。
(3) 在引用XX.js的頁面上“顯示”加上XX.js檔案的編碼方式UTF-8。

<script type="text/javascript" language="JavaScript" src="/js/XX.js" charset=“utf-8”></script>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.