>  기사  >  웹 프론트엔드  >  JS가 서버 gbk 파일 garbled_javascript 기술을 요청하는 문제를 해결합니다.

JS가 서버 gbk 파일 garbled_javascript 기술을 요청하는 문제를 해결합니다.

WBOY
WBOY원래의
2016-05-16 15:36:231464검색

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 유형으로 지정합니다.

ps: js가 중국어로 잘못된 문자를 표시하거나 페이지에 잘못된 문자를 표시하는 솔루션

①.js 파일에 중국어 문자가 깨져 표시됩니다

Javascript 파일 XX.js를 편집하고 저장할 때 인코딩 체계(예: GBK)가 있습니다. 파일을 열 때 사용된 인코딩(예: UTF-8)이 저장 시 인코딩 체계와 일치하지 않는 경우 한자가 깨집니다. 나타날 것입니다.

해결책:

(1) 편집기로 열고 탐색할 때 원본 파일 인코딩(예: GBK)과 일치하는 인코딩 방법을 선택하면 문자가 깨져 보이지 않습니다.

(2) Eclipse의 패키지 탐색기에서 왜곡된 XX.js를 선택하고 마우스 오른쪽 버튼 클릭 메뉴에서 속성을 선택한 다음 텍스트 파일 인코딩에서 XX.js로 편집 및 저장할 때 인코딩(예: GBK)을 선택하고, 그러면 정상적으로 표시될 수 있습니다 ;

②웹사이트 페이지의 JavaScript에서 중국어 필드가 깨졌습니다

XX.js의 한자는 Eclipse나 편집기에서 정상적으로 표시됩니다. 페이지에서 XX.js를 호출하면 실행 후 페이지 결과의 중국어 필드에 잘못된 문자가 표시됩니다.

해결책:

XX.js를 참조하는 페이지에 XX.js 파일의 인코딩 방법을 "표시"하여 XX.js 파일 자체의 인코딩 방법(예: GBK)과 일치하도록 합니다.

25b175bbeff9e5bfeb39342f0a3a62cf2cacc6d41bbb37262a98f745aa00fbf0

추천:

(1) Eclipse 또는 Myeclipse를 사용하여 XX.js를 생성하고 편집할 때 먼저 Text 파일 인코딩을 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>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.