ajax讀取txt文本時亂碼的解決方案


前言:第一次學習使用 ajax 就是用來讀取文本

先給出現亂碼的代碼

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>ajax</title>

<script type="text/javascript">

  var xmlhttp;
  function loadXMLDoc(url,cfunc)
  {
   if (window.XMLHttpRequest)
   {// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
   }
   else
   {// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
   if (xmlhttp!=null)
   {
    xmlhttp.onreadystatechange=cfunc;
    xmlhttp.open("GET",url,true);

    xmlhttp.send();
    }
  }
 function myfunction()
 {
  loadXMLDoc("res/123.txt",function(){
     if (xmlhttp.readyState==4 && xmlhttp.status==200)
     {
      document.getElementById("ajaxid").innerHTML=xmlhttp.responseText;
     }

  });
 }
</script>

</head>
 <style>
 #ajaxid
 {
 margin:20;
 background-color:#999999;
 font-size:25px;
 }
 </style>
<body>

<a href="javascript:void(0);" onclick="myfunction();">加載內容</a>
<div id="ajaxid"><h2>my</h2></div>
</body>
</html>

1、解決方法第一步,設置讀取txt要顯示的編碼方式,要改的代碼如下:

if (xmlhttp!=null)
    {
    xmlhttp.onreadystatechange=cfunc;
    xmlhttp.open("GET",url,true);

xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');

    xmlhttp.send();
    }

2、之后,需要更改需要讀取的txt文本的編碼方式,新建的文本文件默認為ANSI編碼,更改為Unicode或者UTF-8。(注意,筆者這里使用的是IE11,如果你使用的是非IE瀏覽器,本文只具有借鑒作用)
  
  
  
          
ajax讀取txt文本時亂碼的解決方案 - 神淚沉默 - 神淚沉默
 


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM