UTF-8 파일 (javaScript XMLHTTPREQUEST)에서 읽는 독서
-
06-07-2019 - |
문제
누구든지 도울 수 있습니까? 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];
이런 식으로 요청 된 값을 얻을 수 있습니다.