문제

누구든지 도울 수 있습니까? xmlhttprequest를 사용하여 JavaScript가있는 UTF-8 파일로 읽을 수있는 작은 절차가 있습니다.이 파일은 Miércoles Sábado 등과 같은 유럽 문자가 있습니다.

그러나 읽을 때 .. 캐릭터가 모두 엉망이되어 .. 나는 파일을 확인했고 완벽합니다.

그녀는 내가 포함하는 파일이있는 예입니다. 파일은 완벽합니다. JavaScript는 중요하지 않습니다.

this.weekdays = New Array ( "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo");

그러나 아래 절차에 의해 반환되고 읽을 때 그것은 다음과 같습니다 (Sabado와 Miercoles의 재미있는 캐릭터를 주목하십시오).

this.weekdays = New Array ( "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sã¡bado", "Domingo");

여기 내 절차가 있습니다 - 아주 작습니다 ...

var contentType = "application/x-www-form-urlencoded; charset=utf-8";

var request = new XMLHttpRequest(); 
request.open("GET", path, false);
request.setRequestHeader('Content-type', contentType)

if (request.overrideMimeType) request.overrideMimeType(contentType);

try { request.send(null); }
catch (e) { return null; }
if (request.status == 500 || request.status == 404 || request.status == 2 || (request.status == 0 && request.responseText == '')) return null;

//PROBLEM HERE is with european charcters that are read in

print(request.responseText);


return request.responseText;
도움이 되었습니까?

해결책

예를 들어 문자를 인쇄하기 위해 다른 방법을 사용해야한다고 생각합니다. 예를 들어, 끝의 코드를 참조하십시오. 이 토론:

<script>
  function getUnicode(num) {
    num = num.toString(16);
    if (num.length < 3) {
      for ( var i = num.length; i < 4; i++) {
        num = '0' + num;
      }
    }
    return ( "&#" + num + ";" );
  }

  for ( var i = 0; i < 65355; i++) {
    document.write(getUnicode(i));
  }
</script>

다른 팁

아마도 파일은 UTF-8에 있지 않은 다음 JavaScript에서 시도해보십시오.

var request = new XMLHttpRequest();
request.open("GET", path, false);
request.overrideMimeType('text/xml; charset=iso-8859-1');

나는 같은 문제를 겪고 있으며 이런 식으로 수정했습니다.

스페인어 날을 포함하는 JS 파일을 UTF-8으로 제공하고 IF가 UTF-8으로 저장되지 않은 경우 작동하지 않습니다.

IDE의 파일을 UTF-8으로 저장하고 (예 : JS 파일의 Eclipse Default는 CP1252가됩니다) UTF-8 숯 인코딩으로도 제공합니다.

앱이 Java 인 경우이 코드를 사용하여 필터를 수행하십시오.

response.setCharacterEncoding("UTF-8");

좋은이

나는 또한 같은 문제에 직면했고, 이런 식으로 해결했습니다.

GET 요청에있는 동안 URL을 통해 데이터를 전송하여 URL을 디코딩하고 문자열 작업을 통해 요청 된 매개 변수를 얻습니다.

이와 같이 URL을 보내는 경우 var ur1 = "getsubjectList.jsp"; ur1 += "? ufformlist =" +str +"& examid =" +examid;

xmlhttp.open ( "get", ur1, true); xmlhttp.send (null);

getSubjectList.jsp에서는 this--- string decodedparams = urldecoder.decode (request.getQueryString (), "utf-8");

문자열 params [] = decodedparams.split ( "&");

     String subjectlist[]=params[0].split("=");
     String examId[] = params[1].split("=");
     String center = subjectlist[1];
    String exam = examId[1];

이런 식으로 요청 된 값을 얻을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top