ajax讀取txt文字內容出現亂碼解決方案

admin發表於2017-02-10
可能有很多朋使用ajax讀取txt檔案的時候,會出現亂碼的情況,下面就介紹一下出現此問題的原因。

當然出現亂的原因可能有多種,下面就介紹一種比較常見的問題導致亂碼現象。

在預設狀態下,ajax在接收responseText或responseXML的值的時候,預設是採用UTF-8的格式來解碼的,這樣的話,如果txt文字內容是採用其他方式編碼的,那麼就會導致亂碼問題,解決方案也很簡單,只要把文字的編碼方式修改為utf-8格式即可。

如何修改txt檔案的編碼格式可以參閱修改檔案的編碼格式一章節。下面看一段程式碼例項:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script>
function loadXMLDoc(){
  var xmlhttp;
  if (window.XMLHttpRequest){
    xmlhttp=new XMLHttpRequest();
  }
  else{
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function(){
    if(xmlhttp.readyState==4 && xmlhttp.status==200){
      document.getElementById("show").innerHTML=xmlhttp.responseText;
    }
  }
  xmlhttp.open("GET","demo/ajax/txt/demo.txt",true);
  xmlhttp.send();
}
window.onload=function(){
  var obt=document.getElementById("bt");
  obt.onclick=function(){
    loadXMLDoc();
  }
}
</script>
</head>
<body>
<div id="show"><h2>原來的內容</h2></div>
<button type="button" id="bt">檢視效果</button>
</body>
</html>

相關文章