Frage

kann jemand helfen? Ich habe kleine Prozedur in einer UTF-8-Datei mit Javascript lesen XMLHttpRequest mit .. Diese Datei europäischen Zeichen wie miércoles sábado etc hat .. Beachten Sie die Akzente ..

Aber wenn in .. die Zeichen gelesen werden alle verkorkste sind .. Ich habe die Datei überprüft und es ist perfekt .. es muss das Verfahren sein, zum Lesen in ..

her ein Beispiel i-Datei, die enthält, die Datei ist perfekt, es Javascript passiert sein, aber es spielt keine Rolle, .. jede UTF-8-Codierung Datei mit Sonderzeichen gibt mir das gleiche Problem

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

aber wenn sie zurückgebracht und durch das Verfahren lesen Sie unten es so ist (man beachte die lustigen Charaktere in sabado und miercoles)

this.weekDays = new Array ( "Lunes", "Martes", "mia © rcoles", "Jueves", "Viernes", "Sábado", "Domingo");

Hier ist mein Verfahren - es sehr klein ist ...

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;
War es hilfreich?

Lösung

Ich denke, Sie eine andere Art und Weise zu verwenden, haben die Zeichen zu drucken, siehe zum Beispiel den Code am Ende der diese Diskussion :

<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>

Andere Tipps

Wahrscheinlich ist Ihre Datei nicht in UTF-8 dann versuchen, diese von javascript:

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

Ich habe das gleiche Problem, und ich auf diese Weise festgelegt.

Wenn Sie dienen dazu, die js Datei, die die spanischen Tage als UTF-8 enthalten, und die, wenn NICHT gespeichert als UTF-8 es wird nicht funktionieren.

Speichern Sie die Datei in Ihrem IDE als UTF-8 (dh. Standard für js Dateien Eclipse wird cp1252) und dient auch als UTF-8-Zeichen-Codierung.

Wenn Ihre App Java, sind ein Filter mit diesem Code:

response.setCharacterEncoding("UTF-8");

ein gutes haben

Ich habe auch das gleiche Problem konfrontiert, ich habe auf diese Weise gelöst,

Während Auf Wunsch holen wir das Senden von Daten durch url So dekodiert ich die URL und erhalten Parameter durch String-Operationen angefordert

Überlegen Sie, ob Sie URL wie diese senden, var UR1 = "getSubjectList.jsp"; "? Subjectlist =" UR1 + = + str + "& examId =" + examId;

xmlHttp.open ( "GET", UR1, true);  xmlHttp.send (null);

In getSubjectList.jsp, Verwenden this-- String decodedParams = URLDecoder.decode (request.getQueryString () "UTF-8");

String params [] = decodedParams.split ( "&");

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

Auf diese Weise können Sie die gewünschten Werte erhalten

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top